在javascript中以编程方式创建json数组对象

programatically create json array object in javascript

本文关键字:创建 json 数组 对象 方式 编程 javascript      更新时间:2023-09-26

代码为

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中实现

这将在所有现代浏览器中工作:

var arr = data.map(function(row){return {value: row.name, data: row.id});

在ES6中(带有解构和重命名):

var arr = data.map(({name: value, id: data}) => ({ value, data }))

您需要先创建对象,然后才能分配其属性:

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

或者你可以使用对象字面值一次完成这三个步骤:

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