All examples向关联数组添加新元素是“简单”的方式而且只有一维数组 - 我的理解问题是在数组中有数组(或者它是对象)数组?)。
我有以下数组:
var test = [
{
value: "FirstVal",
label: "My Label 1"
},
{
value: "SecondVal",
label: "My Label 2"
}
];
两个问题:如何生成这个关联数组(是......对象)从头开始?如何添加新元素到现有数组?
感谢您帮助我理解javascript。
答案 0 :(得分:10)
我不确定你是从“从零开始”的意思,但这可行:
var test = []; // new array
test.push({
value: "FirstVal",
label: "My Label 1"
}); // add a new object
test.push({
value: "SecondVal",
label: "My Label 2"
}); // add a new object
虽然您发布的语法是“从头开始”创建它的完全有效的方法。
添加新元素的方式与test.push({..something...});
相同。
答案 1 :(得分:4)
这是一个对象数组。
您可以通过调用test.push({ ... })
答案 2 :(得分:2)
var items = [{name:"name1", data:"data1"},
{name:"name2", data:"data2"},
{name:"name3", data:"data3"},
{name:"name4", data:"data4"},
{name:"name5", data:"data5"}]
var test = [];
for(var i = 0; i < items.length; i++){
var item = {};
item.label = items[i].name;
item.value = items[i].data;
test.push(item);
}
使测试等于
[{label:"name1", value:"data1"},
{label:"name2", value:"data2"},
{label:"name3", value:"data3"},
{label:"name4", value:"data4"},
{label:"name5", value:"data5"}]
答案 3 :(得分:1)
从头开始,以下几行将使用Array.prototype.push
方法创建一个包含对象的数组:
var test = []; // Create an array
var obj = {}; // Create an object
obj.value = "FirstVal"; // Add values, etc.
test.push(obj);