1

extraからの値を混合して、 arrを変更せずarrに生成するための最も効率的な方法は何ですか?result使用:プレーンjavascript、underscore、lodash(underscore compat)、jqueryまたはlodash、優先順に。

arr = [
  {name: "A"},
  {name: "B"},
  {name: "C"},
]

extra = {
  "B": value1
  "C": value2
}

result == [
  {name: "A"},
  {name: "B", extra: value1},
  {name: "C", extra: value2},
] 
// true !
4

1 に答える 1

2
for (var x = 0; x < arr.length; x++) {
    if (arr[x].hasOwnProperty('name')) {
       if (extra.hasOwnProperty(arr[x].name)) {
           arr[x].extra = extra[arr[x].name];
       }
    }
}

アウターhasOwnPropertyはおそらくやり過ぎです。

http://jsfiddle.net/Y3Abe/2/

于 2013-02-12T00:48:52.740 に答える