如何动态创建JavaScript数组(JSON格式)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何动态创建JavaScript数组(JSON格式)?相关的知识,希望对你有一定的参考价值。

我正在尝试创建以下内容:

var employees = {"accounting": [   // accounting is an array in employees.
                    { "firstName" : "John",  // First element
                      "lastName"  : "Doe",
                      "age"       : 23 },

                    { "firstName" : "Mary",  // Second Element
                      "lastName"  : "Smith",
                      "age"       : 32 }
                  ] // End "accounting" array.                                  

    } // End Employees

我开始了

 var employees = new Array();

如何动态继续创建数组(可能会使用变量更改firstName)?我似乎没有得到嵌套数组。

答案

我们的对象数组

var someData = [
   {firstName: "Max", lastName: "Mustermann", age: 40},
   {firstName: "Hagbard", lastName: "Celine", age: 44},
   {firstName: "Karl", lastName: "Koch", age: 42},
];

与......在...

var employees = {
    accounting: []
};

for(var i in someData) {    

    var item = someData[i];   

    employees.accounting.push({ 
        "firstName" : item.firstName,
        "lastName"  : item.lastName,
        "age"       : item.age 
    });
}

或者使用更清洁的Array.prototype.map()

var employees = {
    accounting: []
};

someData.map(function(item) {        
   employees.accounting.push({ 
        "firstName" : item.firstName,
        "lastName"  : item.lastName,
        "age"       : item.age 
    });
}
另一答案
var accounting = [];
var employees = {};

for(var i in someData) {

    var item = someData[i];

   accounting.push({ 
        "firstName" : item.firstName,
        "lastName"  : item.lastName,
        "age"       : item.age 
    });
}

employees.accounting = accounting;
另一答案

我做的是与@Chase回答有点不同的东西:

var employees = {};

// ...and then:
employees.accounting = new Array();

for (var i = 0; i < someArray.length; i++) {
    var temp_item = someArray[i];

    // Maybe, here make something like:
    // temp_item.name = 'some value'

    employees.accounting.push({
        "firstName" : temp_item.firstName,
        "lastName"  : temp_item.lastName,
        "age"       : temp_item.age
    });
}

那项工作形成了我!

我希望它可能对其他人有用!

另一答案
var student = [];
var obj = {
    'first_name': name,
    'last_name': name,
    'age': age,
}
student.push(obj);

以上是关于如何动态创建JavaScript数组(JSON格式)?的主要内容,如果未能解决你的问题,请参考以下文章

创建PHP动态多字段的JSON格式

在 JavaScript 中动态创建 JSON 数组键 [重复]

从 JSON 使用 Javascript 创建动态关联数组

为 DataTables aoColumnDefs 创建 JavaScript 数组(JSON 格式)

如何在 Postgresql 中获取数组的 JavaScript/JSON 数组?

如何将一个对象数组中的所有项目从Javascript动态显示为HTML?