2017-03-21 12 views
0

基本的には、特定のプロパティの値が一致する場合、いくつかのオブジェクトを比較して再グループ化したいと考えています。 次のコードでは、型が同じ場合、オブジェクトの1つの配列として再グループ化します。オブジェクトの比較と一致した値の検索

var obj = [{id: 94 , type: 'silver'}, {id:95,type:'gold'} , {id:96, type: 'silver'} ] 


return newObj = [{id: 94 , type: 'silver'},{id:96, type: 'silver'} ] 

可能であれば、ロダッシュまたはアンダースコアを使用したいと思います。 誰でも素晴らしいアイデアがありますか?ありがとう。

答えて

0

このようなものが欲しいですか? https://jsbin.com/negeqineje/edit?js,console

var metals = [ 
    {id: 94 , type: 'silver'}, 
    {id: 95, type:'gold'}, 
    {id: 96, type: 'silver'}, 
    {id: 97, type: 'platinum'}, 
]; 

var grouped = metals.reduce(function (grouped, metal) { 
    grouped[metal.type] = metals.filter(function (_metal) { 
    return (metal.type === _metal.type); 
    }); 

    return grouped; 
}, {}); 
関連する問題