javascript - 将数组中的项目添加到另一个数组中的对象中

标签 javascript arrays loops javascript-objects

我当前正在循环遍历我拥有的数据,获取特定列的所有值并将它们添加到数组中,然后将其限制为仅唯一值。

我还有一个 reportSections 数组,该数组需要根据 date_group 数组中当前的项目数进行动态调整。如何循环遍历这些数组并将值添加到 reportSections 数组中的 idname 对象?

理想情况下,我认为可能包含某种 for 循环,可以循环遍历 reportSections 数组并动态添加 date_group 内的值record_group 数组到 idname 对象,但不确定它是如何工作的。

  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/

相关文章:

javascript - 如何迭代对象数组并更改 redux 中的属性?

ios - 如何为不同的 UTableView 部分使用不同的 segues 并传递数据

c# - 带有数组返回的泛型列表但是如何?

JavaScript 错误 : Uncaught TypeError: Cannot read property 'remove' of undefined

loops - 如何在 Airflow BashOperator 和 SSHOperator 中的 jinja 模板中传递循环和动态任务 ID

javascript - 格式化 JavaScript 对象,在产品下显示子产品

javascript - 为什么 javascript 同时具有 null 和 undefined ?

java - 在循环、Java 和 Android 中使用方法

PHP:我有一个带有时间范围的关联数组($k=>$v 整数),我想修剪和组合重叠的时间表

javascript - 从服务器加载 php 文件到 cordova ios 应用程序中