为什么我无法访问任何Javascript对象?

时间:2018-05-07 07:47:16

标签: javascript object react-native javascript-objects

首先,这是我的对象列表,因为它看起来像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);
      }, {});
    }

使用this.getNestedObjects(this.state.dropZoneValues, this.state.articleKeys)

在componentWillMount()调用中调用getNestedObjects

现在,当我将console.log注销时,我希望为每个传递的键返回wordAreas [key]中的值。但是,这个例子是我在整个console.log中得到的:

undefined "194" {} [Array(10)]

上述说明:[Array(10)]是articleKeys的10个键。 “194”是reduce循环期间返回的键的值。 {}是扩展时显示具有所述对象中的键的所有对象的对象。

“undefined”是应返回值的位置。 194的wordAreas [key]应显示{y:129.5,width:50,x:161,height:1},但它返回为undefined。

过去几周我一直在研究这个问题(这是我的个人项目),但我无法弄清楚为什么它没有返回对象的关键值。我做错了什么我无法弄清楚究竟是什么。

我想要做的是获取每个对象的值并将它们放入一个单独的组件中,该组件将使用x / y值渲染到屏幕上。我是console.logging只是检查结果,但是尝试使用wordAreas [key]返回对象的值继续返回undefined。

感谢您给我的任何帮助。

1 个答案:

答案 0 :(得分:0)

我想我以前被类似的事情烧过。我会尝试wordAreas[parseInt(key)]