根据对象数据将单独的数组创建到另一个数组中

Sar*_*Ree 6 javascript

假设我有这个空数组:

var list = [];
Run Code Online (Sandbox Code Playgroud)

这是一个问题:如果我的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 };
Run Code Online (Sandbox Code Playgroud)

我如何用list数组数据填充数组,data如下所示:

var list = [
  ["Jack", "Sara", "Nick", "Doe", "Lee", "Sasha"],
  ["average", "good", "not bad", "good", "excellent", "good"]
];
Run Code Online (Sandbox Code Playgroud)

我没有运气就把它用于循环:

for ( var i=0; i < data.length; i++ ) {
 list[0].push( data[i].Name );
 list[1].push( data[i].accuracy);
}
console.log(list);
Run Code Online (Sandbox Code Playgroud)

con*_*exo 8

只需使用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);
Run Code Online (Sandbox Code Playgroud)