javascript - 从对象的数据创建单独的数组到另一个数组

标签 javascript

假设我有这个空数组:

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/

相关文章:

javascript - 如何在 Parse 中创建一对多关系?

javascript - 使用 setTimeout 的闭包示例无法识别函数调用

javascript - AngularJs POST 方法到 springboot api

javascript - 如何通过HTML按钮运行Python脚本?

javascript - 如何区分工厂对象和函数?

javascript - 如何使用react.js处理单选按钮

javascript - 沙盒 Javascript 代码

javascript - 如何在 angular-chart.js 中实现这些数据

javascript - 来自 URL 的 $_GET 不起作用

javascript - 警告 : setState(…): Cannot update during an existing state transition