javascript - JavaScript:使用嵌套数组迭代对象数组
问题描述
对不起,如果重复了一些问题,但我搜索了很多,没有找到任何东西。
有一个对象数组,包括属性dailyTraffic
作为数组:
const temparray = [
{
serviceName: 'JSX',
dailyTraffic: [
{day: '01', dataValue: 1000},
{day: '02', dataValue: 2000},
{day: '03', dataValue: 3000},
{day: '04', dataValue: 4000}
]
},
{
serviceName: 'XML',
dailyTraffic: [
{day: '01', dataValue: 5589},
{day: '02', dataValue: 3002},
{day: '03', dataValue: 6552}
]
}
];
我想要的结果是:
var example = [
{
label: 'JSX',
data: [1000, 2000, 3000, 4000]
},
{
label: 'XML',
data: [5589, 3002, 6552]
}
];
对象数组,包括serviceName
作为标签的对象,以及dataValue
数组中的所有他的 s。
我尝试使用Array#map
,但停留在嵌套数组的迭代上
let check = temparray.map((item) => {
customObj.label = item.serviceName;
console.log(customObj);
customArray.push(customObj);
});
非常感谢 :)
解决方案
您必须在第一个数组上循环,然后在dailyTraffic
数组上循环。
const temparray = [{
serviceName: 'JSX',
dailyTraffic: [{
day: '01',
dataValue: 1000
},
{
day: '02',
dataValue: 2000
},
{
day: '03',
dataValue: 3000
},
{
day: '04',
dataValue: 4000
},
],
},
{
serviceName: 'XML',
dailyTraffic: [{
day: '01',
dataValue: 5589
},
{
day: '02',
dataValue: 3002
},
{
day: '03',
dataValue: 6552
},
],
},
];
// Array.map will loop on every entry of the temparray and build a new
// array using the returned values
// To know about :
// We are using destructuring
//
// Doing :
//
// ({
// serviceName,
// dailyTraffic,
// }) => {
// // access the data directly
// console.log(serviceName);
// }
//
// is equivalent to
//
// (x) => {
// // access the data indirectly
// console.log(x.serviceName);
// },
// To know about :
// This
//
// x => 8;
//
// is equivalent to
//
// (x) => {
// return 8;
// }
//
// So, we are looping on every temparray value and then build a new one
// We are using the serviceName as the label
// We are using an other Map to loop on dailyTraffic to extract the dataValues from it
const ret = temparray.map(({
serviceName,
dailyTraffic,
}) => ({
label: serviceName,
dailyTraffic: dailyTraffic.map(y => y.dataValue),
}));
console.log(ret);
推荐阅读
- css - 为什么 CSS 样式背景图片不起作用
- r - 在 ggplot 图中按类型重新排序 sf 多边形
- python - 如何分配 Numpy 数组的特定部分?
- c# - Microsoft.ml 找不到 csv 文件,即使它在我的文件目录中
- button - 未解决的参考按钮
- angular - ngIf 带有 as as 语法和 && 运算符
- java - 如何从末尾获取字符串的每个字符的索引
- scikit-learn - 在训练和测试数据上拟合 CountVectorizer,以免遗漏任何单词
- javascript - 未捕获的类型错误:无法在 HTMLButtonElement.btn.onclick 处读取未定义(读取 id)的属性
- javascript - 如何扩展 NextPage 类型以将自定义字段添加到页面组件?