如何添加或替換到現有的對象數組中。可以說我有現有的陣列是這樣的:在javascript中添加或替換成對象數組
productOffer.view = [
{id: 1, name: "john"},
{id: 2, name: "Sam"}
]
productOffer.view.forEach(function(el,i){
if(el.id == productOffer.createId){
productOffer.view[i] = ajaxCall.responseJSON
} else {
productOffer.view.push(ajaxCall.responseJSON);
}
});
試過以下,但值會越來越替換而不是增加:
productOffer.hashedArr = productOffer.hash(productOffer.view);
productOffer.view.forEach(function(el,i){
if(el.id == productOffer.createId){
productOffer.hashedArr[i] = ajaxCall.responseJSON
} else {
productOffer.hashedArr[i] = el;
}
});
for(var key in productOffer.hashedArr){
productOffer.view = [];
productOffer.view.push(productOffer.hashedArr[key]);
}
hash: function(arr){
var arrIndex = Object.create(null);
arr.forEach(function(el){
arrIndex[el.id] = el;
});
console.log('hash ', arrIndex);
return arrIndex;
},
如果你可以使用圖書館,我建議你測試lodash:https://lodash.com/它可以幫助你用數組,集合和對象。 –
我不同意,當你掌握'.filter','.map'和其他非常強大的JS數組開箱即用的方法時,LoDash變得毫無用處。 –
我不明白你想要做什麼。你想添加一些東西到數組中的對象,或者你想添加到數組中嗎? –