[英]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.