我有一组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]);
答案 0 :(得分:0)
您可以在数据上使用嵌套映射,然后使用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)