首页 > 解决方案 > 在对象数组上使用扩展运算符来访问元素

问题描述

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

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? 这非常相似,但他们不尝试访问元素。

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

标签: javascriptspread-syntax

解决方案


您可能正在寻找map

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

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

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

  • console.log([...array.obj]): 你试图传播 的obj属性array, 这也是undefined, 意思是你试图传播undefined, 这会给你一个错误


推荐阅读