При использовании переменной для вызова объекта из файла JSON он вообще не вызывается [дубликат]

avatar
cyliim
9 августа 2021 в 06:44
85
1
0

Использование JS в сочетании с файлом JSON для преобразования идентификатора комнаты в информацию о комнате.

function rooms(roomID) {
    const roomsDB = require("./rooms.json")
    let roomsID = "r".concat("", roomID).toString()
    console.log(roomsDB.roomsID)
}

rooms(46)

Это функция, которую я использую для преобразования идентификатора в информацию, и файл room.json выглядит следующим образом:

{
    "r46":"house"
}

В идеале, это должно вывести house в консоль, но я получаю только undefined. Почему объект JSON не вызывается должным образом?

Источник
Tsvetan Ganev
9 августа 2021 в 06:48
3

roomsDB[roomsID] - так вы программно получаете доступ к свойствам объекта.

Ответы (1)

avatar
Tobias K.
9 августа 2021 в 06:48
1

Для динамического доступа к свойству объекта по имени в строковой переменной необходимо использовать квадратные скобки:

roomsDB[roomsID]

Точка (roomsDB.roomsID) аналогична roomsDB["roomsID"], она не заменяет переменную.