Existe-t-il un moyen d'optimiser ce qui suit avec ES5/ES6?Optimisation du double pour .map/.filter/.reduce ou autre
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"})
}
Je veux avoir un objet qui contient toutes les clés de data1
et si une paire a la même id
comme celui data2
, il devrait prendre sa value
, sinon il devrait devenir 'EMPTY'
. Ou peut-être est-il un moyen d'utiliser Object.assign
avec des paramètres spéciaux ou quelque chose?
Optimiser dans quel sens? Efficacité? Lisibilité? – Carcigenicate
s'il vous plaît ajouter 'data1' et' data2' ainsi que le résultat souhaité. –
Les deux tableaux sont-ils 'data1' et' data2'? – 4castle