2

元データはこんな感じ

var d = {A1:{name:"A1",value:10}, A2:{name:"A2",value:8}}
var l = [{name: "A1", 1min: 1, 2min:10}, {name: "A2", 1min:5, 2min:40}}

私がする必要があるのは、同じものをマージdしてlまとめることですname。結果は次のようになります。

{A1: {name:"A1", value:10, 1min: 1, 2min:10}, 
 A2: {name: "A2", value:8, 1min:5, 2min:40}}

私はそれを解決するのに役立つと思いifますloop。しかし、非常に大きなデータセットの場合、これを行うためのより良い簡単な方法はありますか?

4

1 に答える 1

2

これは機能しますか?

for (var i=0; i < l.length; ++i) {
    var tmp = l[i];

    for (var key in tmp) {
        d[ tmp.name ][ key ] = tmp[key];
    }
}
于 2013-07-30T10:17:47.080 に答える