在Javascript中在二维数组的数组中添加元素

时间:2014-10-30 10:44:16

标签: javascript arrays

我有一个问题我无法找到答案。说我有以下内容:

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");

但他们并没有像我预期的那样(或根本没有)。我如何实现上述目标?这样可以避免大量的代码重复。

2 个答案:

答案 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