我有一个问题我无法找到答案。说我有以下内容:
var test = [{"a": "1", "b": "2", "c": "3", "d": "4"}];
现在,假设我希望此测试数组基于某些预定条件具有附加值。我能做到这一点:
if(cond) {
var test = [{..., "cond": true}];
}
else {
var test = [{...}];
}
本质上,如果条件成立,我希望数组键存在。
到目前为止,我尝试了以下内容:
test[0]["cond"] = true; // (similar to how php does it, I thought)
test[0].push("cond":true");
但他们并没有像我预期的那样(或根本没有)。我如何实现上述目标?这样可以避免大量的代码重复。
答案 0 :(得分:1)
test[0]["cond"] = true;
实际应该和
一样好用test[0].cond = true;
考虑到它实际上不是2D数组,它是一个javascript对象数组,它们的方法与数组不同。例如,javascript对象没有push()
方法。
答案 1 :(得分:1)
Object
不是Array
。您有Object
,因此无法使用push
。
您可以使用第一种方法:
var test = [{"a": "1", "b": "2", "c": "3", "d": "4"}];
// Here you condition
if (cond === true) { test[0]["cond"] = true; }
请参阅DEMO