如何将数组中的值插入 select json 键

How to insert values from an array into select json keys

我有这个数组: [测试,usera,测试,userb,测试,userc,测试,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"
    }
]
}

我变得未定义?或者没有输出?

您可以考虑一种只有一个迭代器的数组方法,并测试索引是否在数组内。

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>');

使用 javascript concat 函数合并数组 这里是关于该函数的更多信息。

http://www.w3schools.com/jsref/jsref_concat_array.asp

感觉我的解决方案是提供的答案中最简单的一个

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;
}