我当前正在循环遍历我拥有的数据,获取特定列的所有值并将它们添加到数组中,然后将其限制为仅唯一值。
我还有一个 reportSections
数组,该数组需要根据 date_group
数组中当前的项目数进行动态调整。如何循环遍历这些数组并将值添加到 reportSections
数组中的 id
和 name
对象?
理想情况下,我认为可能包含某种 for 循环,可以循环遍历 reportSections
数组并动态添加 date_group
和 内的值record_group
数组到 id
和 name
对象,但不确定它是如何工作的。
var date_group = [];
var record_date = [];
var i;
for (i = 0; i < data.length; i++) {
date_group.push(data[i]['date group']);
record_date.push(data[i]['record date']);
}
date_group = _.uniq(date_group);
record_date = _.uniq(record_date);
const reportSections = [
{id: 'date_group1', name: 'record_date1'},
{id: 'date_group2', name: 'record_date2'},
{id: 'date_group3', name: 'record_date3'},
{id: 'date_group4', name: 'record_date4'},
{id: 'date_group5', name: 'record_date5'},
{id: 'date_group6', name: 'record_date6'},
];
最佳答案
关于使项目独一无二,我很困惑地看着你的问题,但尝试这个解决方案。
使用set
来记录唯一记录
let data = [{
"date group": "C",
"record date": "13 Mar 20"
},
{
"date group": "B",
"record date": "11 Mar 20"
},
{
"date group": "A",
"record date": "11 Mar 20"
},
{
"date group": "B",
"record date": "12 Mar 20"
},
{
"date group": "C",
"record date": "11 Mar 20"
}
]
let reportSections = [];
let dataGroups = new Set();
let recordDates = new Set();
data.forEach(item => {
dataGroups.add(item['date group']);
recordDates.add(item['record date'])
})
for (const [index, value] of [...dataGroups].entries())
reportSections.push({
id: value,
name: [...recordDates][index]
})
console.log(reportSections);
.as-console-wrapper {
max-height: 100% !important;
top: 0;
}
关于javascript - 将数组中的项目添加到另一个数组中的对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61142326/