在对象数组上使用扩展运算符来访问元素

use*_*596 0 javascript spread-syntax

如何使用扩展运算符访问对象数组中的元素?

const array = [{ obj: 1},{ obj: 2}]

console.log([...array].obj)
// Output undefined 

console.log([...array.obj])
// Output Uncaught TypeError
Run Code Online (Sandbox Code Playgroud)

我看过这篇文章在对象数组上使用扩展运算符?这非常相似,但它们不会尝试访问元素。

那么是否可以在对象数组上使用扩展运算符来访问元素?如果是这样怎么办?

Ron*_* B. 5

你可能正在寻找 map

你需要的是 array.map(element => element.obj)

以下是您的尝试有什么问题:

  • console.log([...array].obj):您正在将 传播array到一个新数组中,然后您正在记录obj新数组的属性,即undefined,正如预期的那样

  • console.log([...array.obj]):您正在尝试传播 的obj属性array,这也是undefined,这意味着您正在尝试传播undefined,这会给您带来错误