有沒有辦法使用ES5/ES6優化以下內容?使用.map/.filter/.reduce或其他東西的優化雙倍
var obj = [];
var set;
for (var key_s in data1) {
set = false;
for (var key_s2 in data2) {
if (data1[key_s].id === data2[key_s2].id) {
obj.push({'id': data1[key_s].id,
'key': data1[key_s].key,
'value': data2[key_s2].value})
set = true;
break;
}
}
if (!set)
obj.push({'id': data1[key_s].id,
'key': data1[key_s].key,
'value': "EMPTY"})
}
我想有一個包含的data1
所有鍵的對象,如果一對data2
得到了相同的id
像一個,它應該利用其value
,否則它應該成爲'EMPTY'
。或者,有沒有辦法使用Object.assign
與一些特殊的參數或東西?
優化是什麼意思?效率?可讀性? – Carcigenicate
請加上'data1'和'data2'以及想要的結果。 –
'data1'和'data2'是否都是數組? – 4castle