У меня 2 массива JSON

"feeds":[
  {
     "created_at":"2021-11-28T00:11:38Z",
     "entry_id":17901,
     "field1":"16.40000",
     "field2":"45.50000",
     "field3":"16.06250",
     "field4":"5.20000",
     "field5":"49.79300",
     "field7":"1",
     "field8":"390267909"
  }
]

А также

 "measurements":[
   {
      "user_id":1,
      "measurements_id":1,
      "fieldId":1,
      "name":"Unutrašnja temperatura vazduha",
      "unit":"°C",
      "url":"inner-temp.png"
   }]

Поэтому в моем коде, когда я хочу получить доступ к значению field1, я делаю myField=feeds.field1, а затем значение myField равно 16.4000. Но теперь мне нужно добавить эти значения динамически, в зависимости от значения свойства fieldId из второго массива JSON measurements.

В основном мне нужно что-то вроде: myField='feeds.field'+measurements.fieldId, а затем снова myField должно быть 16.4000.

1
Lube 28 Ноя 2021 в 04:19
Данные JSON отформатированы таким образом? Или урезано? Если это так, разбор выдаст ошибку.
 – 
evolutionxbox
28 Ноя 2021 в 04:21
Я просто вырезал самые важные части, чтобы упростить вопрос.
 – 
Lube
28 Ноя 2021 в 04:23
1
Рассмотрите возможность использования обозначения квадратных скобок. feed[`${field}${measurements.fieldId}`]
 – 
evolutionxbox
28 Ноя 2021 в 04:26
1
 – 
evolutionxbox
28 Ноя 2021 в 04:26

1 ответ

Лучший ответ

Вы можете использовать скобки для доступа к членам объекта следующим образом:

myField = feeds['field' + measurements.fieldId];

Вы можете прочитать об этом на MDN.

2
StereoBucket 28 Ноя 2021 в 04:25