Как создать динамический массив 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
с переменной)? Кажется, я не правильно вставляю вложенный массив.
Ответы
Ответ 1
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 has to be an array
someData.map(function(item) {
employees.accounting.push({
"firstName" : item.firstName,
"lastName" : item.lastName,
"age" : item.age
});
}
Ответ 2
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;
Ответ 3
Что я делаю, это немного отличается от ответа @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
});
}
И эта работа формирует меня!
Я надеюсь, что это может быть полезно для кого-то другого!
Ответ 4
var student = [];
var obj = {
'first_name': name,
'last_name': name,
'age': age,
}
student.push(obj);