【发布时间】:2018-08-23 16:19:17
【问题描述】:
我正在尝试从对象数组中获取第一个对象。获取componentDidMount中的数据并返回:
var array1 = [
{
Id: 1,
Categories: 200
},
{
Id: 2,
Categories: 100
}
]
(实际数据要复杂得多,但格式相同) 我想要的是这样的:
array2 = [
Id: 1,
Categories: 200
]
我正在使用
var iterator1 = array1.entries();
let array2 = iterator1.next().value
当我console.log(array2)它显示数组数据(所有键和值都在数组的索引1中),然后当我console.log(array2[1].Id)
它在类组件的渲染方法内显示未定义。我在其他 IDE 中使用相同的代码,但不使用对代码工作的反应。有人可以向我解释一下吗?感谢任何帮助。
编辑: 最后我发现我问错了问题。我无法获取数据,因为我将减速器中的数据声明为对象而不是数组。我用 larz 标记了答案,因为您只需要输入索引 0 即可从对象数组中获取第一个对象。
【问题讨论】:
-
数组从 0 开始。试试
array2[0].id -
这将给出未定义,即使在其他 IDE 中,因为所有键和值都在索引 1 中,索引 0 在 console.log 中显示 0
-
你在说什么/
-
没有。 array2 保存 [0, {Id:1, Categories: 200}]。因此,OP 做得对。
-
@andromad 你能解释一下为什么你不使用更简单的方法:
array1[0]来获取array1的第一个元素。
标签: reactjs