如何添加数组新键值(javascript)?

时间:2014-04-29 13:25:32

标签: javascript arrays

如何添加数组新键值(javascript)?

示例图片 http://i.hizliresim.com/dj3OLn.png

示例这是我的数组

source.localdata[0].c_Id="2d5955ee-415b-470a-8700-3ae65ee122db"
                    Name ="mike"
                    LastName="jonas"


source.localdata[1].c_C_ID"b851c285-035f-4a51-8237-1e3c3528e089"
                    Name ="richard"
                    LastName="gere"

我想输入密钥和值数据

source.localdata[0].Address = "mike for address"
source.localdata[1].Address = "richard for address"

..更多

输出

source.localdata[0].c_Id="2d5955ee-415b-470a-8700-3ae65ee122db"
                    Name ="mike"
                    LastName="jonas"
                    Address = "mike for address"

source.localdata[1].c_C_ID"b851c285-035f-4a51-8237-1e3c3528e089"
                    Name ="richard"
                    LastName="gere"
                    Address = "richard for address"

我写了这段代码但是我收到了错误 JavaScript运行时错误:对象不支持属性或方法' push'

function dataSourceCompare(newdata) {

for (var i = 0; i < source.localdata.length; i++) {

    for (var j = 0; j < newdata.dynamicColumns.length; j++) {

        if (crewItems[i].c_C_ID === newdata.dynamicColumns[j].ColumnValue) {
            source.localdata[i].push([newdata.dynamicColumns[j].ColumnName, newdata.dynamicColumns[j].ColumnValue]);

        }             
    }                                                   
}                                                       

}

谢谢

1 个答案:

答案 0 :(得分:2)

Array.push()用于向数组添加新元素,不能在普通的javascript对象上使用。你想要做的是为一个具有动态属性名称的对象添加一个新的适当性,以及如何做到这一点:

source.localdata[i][newdata.dynamicColumns[j].ColumnName] = newdata.dynamicColumns[j].ColumnValue;