Во-первых, вот мой список объектов, который выглядит как console.logged. Обратите внимание, что эти значения меняются каждый раз, когда выбирается новая статья, так как слова выбираются случайным образом вместе с их позициями. Следующие объекты хранятся в состоянии dropAreaValues:
{}
2
:
{y: 363, width: 50, x: 288, height: 1}
17
:
{y: 129.5, width: 50, x: 0, height: 1}
26
:
{y: 380, width: 50, x: 195.5, height: 1}
64
:
{y: 45.5, width: 50, x: 247, height: 1}
67
:
{y: 12.5, width: 50, x: 65.5, height: 1}
194
:
{y: 129.5, width: 50, x: 161, height: 1}
203
:
{y: 396.5, width: 50, x: 249.5, height: 1}
209
:
{y: 29, width: 50, x: 197.5, height: 1}
219
:
{y: 413.5, width: 50, x: 101, height: 1}
223
:
{y: 346.5, width: 50, x: 251.5, height: 1}
Я пытаюсь сопоставить или уменьшить массив всех ключей статьи и вернуть каждый ключ в паре с вышеуказанным объектом, чтобы он возвращал значения каждого объекта.
articleKeys array: ["2", "17", "26", "64", "67", "194", "203", "209", "219", "223"]
Еще немного кода. wordAreas - это объект dropAreaValues, как показано выше.
getNestedObjects(wordAreas, articleKeys){
articleKeys.map((key, index) => {
//this part is to simply check the values in the console
console.log(wordAreas[key], key, wordAreas, articleKeys);
}, {});
}
getNestedObjects вызывается в вызове componentWillMount (), используя this.getNestedObjects(this.state.dropZoneValues, this.state.articleKeys)
Теперь, когда я утешаю это, я ожидал, что значения в wordAreas [ключ] будут возвращаться для каждого передаваемого ключа. Тем не менее, этот пример - то, что я получаю во всем console.log:
undefined "194" {} [Array(10)]
Объяснение выше: [Array (10)] - это 10 ключей из articleKeys. «194» - это значение ключа, возвращаемого во время цикла сокращения. {} - это объект, который при раскрытии показывает все объекты с ключами в указанном объекте.
"undefined" - это место, где должны быть возвращены значения. wordAreas [ключ] для 194 должен показывать {y: 129.5, ширина: 50, x: 161, высота: 1}, но вместо этого он возвращается как неопределенный.
Я работал над этим время от времени последние пару недель (это мой личный проект), но я не могу понять, почему он не возвращает значения ключа объекта. Я делаю что-то не так и я не могу понять, что это такое.
Я хочу взять значения каждого из этих объектов и поместить их в отдельный компонент, который будет отображаться на экране с использованием значений x / y. Я console.logging, чтобы просто проверить результаты, но попытка вернуть значение объекта с помощью wordAreas [key] продолжает возвращать undefined.
Спасибо за любую помощь, которую вы можете мне оказать.