假设我有这个空数组:
var list = [];
这里的问题是:如果我有 data
数组,其中填充了 6 个对象,如下所示:
var data = [];
data[0] = { Name: "Jack", accuracy: "average", accent: 79, weight: 1 };
data[1] = { Name: "Sara", accuracy: "good", accent: 24, weight: 2 };
data[2] = { Name: "Nick", accuracy: "not bad", accent: 89, weight: 1 };
data[3] = { Name: "Doe", accuracy: "good", accent: 88, weight: 4 };
data[4] = { Name: "Lee", accuracy: "excellent", accent: 63, weight: 9 };
data[5] = { Name: "Sasha", accuracy: "good", accent: 42, weight: 5 };
如何用 data
数组的数据填充 list
数组,如下所示:
var list = [
["Jack", "Sara", "Nick", "Doe", "Lee", "Sasha"],
["average", "good", "not bad", "good", "excellent", "good"]
];
我用过这个 for 循环但没有成功:
for ( var i=0; i < data.length; i++ ) {
list[0].push( data[i].Name );
list[1].push( data[i].accuracy);
}
console.log(list);
var data = [];
data[0] = {
Name: "Jack",
accuracy: "average",
accent: 79,
weight: 1
};
data[1] = {
Name: "Sara",
accuracy: "good",
accent: 24,
weight: 2
};
data[2] = {
Name: "Nick",
accuracy: "not bad",
accent: 89,
weight: 1
};
data[3] = {
Name: "Doe",
accuracy: "good",
accent: 88,
weight: 4
};
data[4] = {
Name: "Lee",
accuracy: "excellent",
accent: 63,
weight: 9
};
data[5] = {
Name: "Sasha",
accuracy: "good",
accent: 42,
weight: 5
};
for (var i = 0; i < data.length; i++) {
list[0].push(data[i].Name);
list[1].push(data[i].accuracy);
}
console.log(list);
最佳答案
只需使用 Array.prototype.map
这是为从现有数组创建新数组而设计的,其中生成的数组的长度与原始数组的长度完全相同:
const data = [{ Name: "Jack", accuracy: "average", accent: 79, weight: 1 },{ Name: "Sara", accuracy: "good", accent: 24, weight: 2 },{ Name: "Nick", accuracy: "not bad", accent: 89, weight: 1 },{ Name: "Doe", accuracy: "good", accent: 88, weight: 4 },{ Name: "Lee", accuracy: "excellent", accent: 63, weight: 9 },{ Name: "Sasha", accuracy: "good", accent: 42, weight: 5 }]
const list = [data.map(x=>x.Name), data.map(x=>x.accuracy)];
console.log(list);
关于javascript - 从对象的数据创建单独的数组到另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56770159/