Свойство в объекте существует, но не определено

1

У меня есть объект, который в javascript, который имеет свойство, которое я ищу, но когда я пытаюсь получить доступ к свойству, он не определен.

Вот мой код:

for (ret of value.methods[values[1]].ret) {
    var names = Object.keys(ret)
    console.log(JSON.stringify(ret, null, 2))
    if (names[0] == "N/A") {
      methodString = methodString.concat(' ${ret.type}');
    }
    else {
      methodString = methodString.concat(' ${names[0]} (${ret.type}),');
    }
  }

На третьей строке образца кода выше я распечатываю объект, и это консольный вывод

{
  "newPosition": {
    "type": "table"
  }
}

Таким образом, type существует внутри newPosition но когда я пытаюсь получить к нему доступ в строке 5 или строке 8, он говорит, что он не определен. При проверке hasOwnProperty свойства с hasOwnProperty возвращает false.

Я действительно в шоке от этого, и я не знаю, что делать. Я рассмотрел множество ответов здесь о переполнении стека, и никто из них не предоставил мне ответ на эту проблему.

Теги:
atom-editor

1 ответ

1
Лучший ответ

Проблема в том, что ret.type не undefined.

То, что вы пытаетесь получить, - ret.newPosition.type

  • 0
    Спасибо! Кажется, я думал, что мне это не нужно, потому что мне показала консоль. Но я думаю, я просто устал смотреть на этот код: P
  • 0
    Полностью. Мне пришлось запустить его, потому что я тоже был сбит с толку;) То, где я нахожусь на уровне объекта, все время меня подводит

Ещё вопросы

Сообщество Overcoder
Наверх
Меню