javascript - 在对象数组上使用扩展运算符来访问元素
问题描述
如何使用扩展运算符访问我的对象数组中的元素?
const array = [{ obj: 1},{ obj: 2}]
console.log([...array].obj)
// Output undefined
console.log([...array.obj])
// Output Uncaught TypeError
我看过这篇文章Use spread operator on objects array? 这非常相似,但他们不尝试访问元素。
那么是否可以在对象数组上使用扩展运算符来访问元素?如果有怎么办?
解决方案
您可能正在寻找map
你需要的是array.map(element => element.obj)
以下是您的尝试有什么问题:
console.log([...array].obj)
:您正在将 传播array
到一个新数组中,然后您正在记录obj
新数组的属性,即undefined
,正如预期的那样console.log([...array.obj])
: 你试图传播 的obj
属性array
, 这也是undefined
, 意思是你试图传播undefined
, 这会给你一个错误