我想向数组添加值。但相同的值可能会更新。例如我的数组是javascript更新或向数组添加值
[{"abc1":"123456"},{"abc2":"123456"}]
何时再次添加的是abc1。它可能会更新。例如,在正常情况下
[{"abc1":"123456"},{"abc2":"123456"},{"abc1":"123456"}]
但我想
[{"abc2":"123456"},{"abc1":"123456"}]
我的代码
var categories = [],
arrIndex = {};
addOrReplace({"abc1":"125"});
addOrReplace({"abc2":"126"});
addOrReplace({"abc1":"127"});
addOrReplace({"abc3":"129"});
function addOrReplace(object) {
var index = arrIndex[object[0]];
console.log("index:"+object[0]);
if(index === undefined) {
index = categories.length;
}
arrIndex[object[1]] = index;
categories[index] = object;
}
console.log(categories);
它没有表现出正确的答案。 它显示
[{"abc3":"129"}]
我想
[{"abc2":"126"},{"abc1":"127"},{"abc3":"129"}]
怎么可能呢?请帮帮我?
所以,如果我理解正确的话,如果存在键为'abc1'的对象,请删除它并推送新值。我对吗? – Rajesh
如果阵列中的对象只有一个键,我会建议有对象而不是数组。值将覆盖在对象 – Rayon
@Rajesh是的,你是对的。 – joe