将元素添加到数组关联数组

时间:2011-12-19 14:13:01

标签: javascript associative-array

All examples向关联数组添加新元素是“简单”的方式而且只有一维数组 - 我的理解问题是在数组中有数组(或者它是对象)数组?)。

我有以下数组:

var test = [
            {
                value: "FirstVal",
                label: "My Label 1"
            },
            {
                value: "SecondVal",
                label: "My Label 2"
            }
           ];

两个问题:如何生成这个关联数组(是......对象)从头开始?如何添加新元素到现有数组?

感谢您帮助我理解javascript。

4 个答案:

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