我有这个数组: [test,usera,test,userb,test,userc,test,userd]
这个JSON:
{
"data": [
{
"email": "testusera@abc.com",
"mobile": "9881880455",
"panCardNo": "ABCD014141",
"city": "Mumbai"
},
{
"email": "testusera@abc.com",
"mobile": "9881880455",
"panCardNo": "ABCD014141",
"city": "Mumbai"
}
]
}
我正在尝试将键值对添加到现有对象中,即“lastname”:“value from array”
for(var i=0; i<importedJson.data.length;i++)
{
for(var f=1;f<=arrFirstLast.length-1;f+2)
{
importedJson.data[i].lastName = arrFirstLast[f];
}
}
预计Json:
{
"data": [
{
"lastname": "usera",
"email": "testusera@abc.com",
"mobile": "9881880455",
"panCardNo": "ABCD014141",
"city": "Mumbai"
},
{
"lastname": "userb",
"email": "testusera@abc.com",
"mobile": "9881880455",
"panCardNo": "ABCD014141",
"city": "Mumbai"
}
]
}
我得到Undefined?还是没有输出?
答案 0 :(得分:1)
感觉我的解决方案是所提供答案中最简单的一个
var j=0, k=0;
for(var i=0; i<importedJson.data.length;i++)
{
importedJson.data[i].firstName = arrFirstLast[k];
k=k+2;
j=j+1;
importedJson.data[i].lastName = arrFirstLast[j];
j=j+1;
}
答案 1 :(得分:0)
如果索引在数组中,您可以考虑只使用一个迭代器的数组方法和测试。
var arrFirstLast = ['test', 'usera', 'test', 'userb', 'test', 'userc', 'test', 'userd'],
importedJson = {
"data": [
{
"email": "testusera@abc.com",
"mobile": "9881880455",
"panCardNo": "ABCD014141",
"city": "Mumbai"
}, {
"email": "testusera@abc.com",
"mobile": "9881880455",
"panCardNo": "ABCD014141",
"city": "Mumbai"
}
]
};
importedJson.data.some(function (a, i) {
var p = i * 2 + 1;
if (p < arrFirstLast.length) {
a.lastName = arrFirstLast[p];
} else {
return true; // stop iteration
}
});
document.write('<pre>' + JSON.stringify(importedJson, 0, 4) + '</pre>');
&#13;
答案 2 :(得分:0)
使用javascript concat函数来合并数组这里是关于函数的更多信息。