如何添加数组新键值(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]);
}
}
}
}
谢谢
答案 0 :(得分:2)
Array.push()用于向数组添加新元素,不能在普通的javascript对象上使用。你想要做的是为一个具有动态属性名称的对象添加一个新的适当性,以及如何做到这一点:
source.localdata[i][newdata.dynamicColumns[j].ColumnName] = newdata.dynamicColumns[j].ColumnValue;