JavaScriptでJSONの重複値を取得したい

[code]

    [{
        id: 1,
        name: hoge,
    }, {
        id: 2,
        name: hoge,
    }, {
        id: 3,
        name: huga,
    }, {
        id: 4,
        name: piyo,
    }, {
        id: 5,
        name: huga,
    }, {
        id: 6,
        name: hoge,
    }]
    
[/code]

JavaScriptで上記のデータから `name`  
の重複をみつけて以下のような値を取得したいのですが、やり方が思いつきません。

[code]

    // 理想
    {
        hoge: [1, 2, 6],
        huga: [3, 5]
    }
    
    // これでも問題なし
    [1, 2, 6, 3, 5]
    
[/code]

みなさんならどのようなプログラムを組みますか?  
参考にさせてください。

よろしくお願いします。



[code]

    var temp = {};
    var ans = {};
    array.forEach(function(obj){
        var box = temp[obj.name] || (temp[obj.name] = []);
        if(box.push(obj.id) == 2){
            ans[obj.name] = box;
        }
    });
    
[/code]

これでどうでしょう

