У меня есть набор 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]);



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете иметь вложенную карту поверх данных, а затем сгладить результат с помощью команды 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.info(res)Спасибо, это прекрасно
Рад, что помог
Ваше требование неясно. Пожалуйста, перефразируйте. Также предоставьте ожидаемый результат