繁体   English   中英

在遍历数据的同时向对象添加值

[英]Adding values to an object whilst iterating over data

我有一组JSON-我需要进行迭代,因为我本质上需要创建一个包含某些标识符的字符串。 目前,我正在映射数据,然后是激励列表。 (我有事件中的索引,因为我只需要该索引中的数据)。

我遇到的问题是cell_id始终相同。 我需要创建一个字符串。

      const key = `cell_Id${cell_id}:step_Id${item.step_id}:study_id${studyId}:stim_id${item.stimulus_id}`

我怀疑我在对数据进行交互时需要向对象添加东西-做到这一点的最佳方法是什么?

谢谢

这是JSON

{
  "study_id": 16,

  "data": [
    {
      "cell_id": 23,
      "stimulus_list": [
        {

          "stimulus_id": 96,
          "step_id": 62

        }
      ]
    },
    {
      "cell_id": 24,
      "stimulus_list": [
        {
          "stimulus_id": 95,
          "step_id": 61

        }
      ]
    }
  ]
}

 data
      .map(item => item.stimulus_list)
      .map(item => item[index]);

您可以在数据上嵌套一个映射,然后使用reduce来平整结果。

 const obj = { "study_id": 16, "data": [ { "cell_id": 23, "stimulus_list": [ { "stimulus_id": 96, "step_id": 62 } ] }, { "cell_id": 24, "stimulus_list": [ { "stimulus_id": 95, "step_id": 61 } ] } ] } const res = obj.data .map(item => { return [].concat(item.stimulus_list.map(stimulus => `cell_Id${item.cell_id}:step_Id${stimulus.step_id}:study_id${obj.study_id}:stim_id${stimulus.stimulus_id}`)) }).reduce((acc, item) => { acc = acc.concat(item) return acc; }, []) console.log(res) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM