将extra
的值混合到arr
,生成result
而不以任何方式修改arr的最有效方法是什么?
使用:普通javascript,下划线,lodash(下划线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 !
答案 0 :(得分: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
可能有点过分。