1

在不以任何方式修改 arr 的情况下混合 from extrainto的值的最有效方法是什么?使用:plain javascript、下划线、lodash(下划线兼容)、jquery 或 lodash,按优先顺序排列。arrresult

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 回答