我的代码是
var arr=[];
$.post( "/reports/search", { query:'*'},function(data) {
for(var i=0;i<data.length;i++)
{
arr[i].value=data[i].name;
arr[i].data=data[i].id;
}
},'json');
我想创建一个json数组变量,我希望像下面那样重新启动
arr=[ {"value":"aaa",data:"1"},
{"value":"bbb",data:"2"},
{"value":"ccc",data:"3"}
]
如何在javascript中执行此操作
答案 0 :(得分:3)
这适用于所有现代浏览器:
var arr = data.map(function(row){return {value: row.name, data: row.id});
在ES6中(解构和重命名):
var arr = data.map(({name: value, id: data}) => ({ value, data }))
答案 1 :(得分:1)
您需要先创建对象,然后才能分配其属性:
var arr=[];
$.post( "/reports/search", { query:'*'},function(data) {
for(var i=0;i<data.length;i++)
{
arr[i] = {};
arr[i].value=data[i].name;
arr[i].data=data[i].id;
}
},'json');
或者您可以使用对象文字一次完成所有3个步骤:
var arr=[];
$.post( "/reports/search", { query:'*'},function(data) {
for(var i=0;i<data.length;i++)
{
arr[i] = {
value: data[i].name,
data: data[i].id
};
}
},'json');