【发布时间】:2021-08-08 10:33:18
【问题描述】:
如何使用扩展运算符访问我的对象数组中的元素?
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? 非常相似,但他们不尝试访问元素。
那么可以在对象数组上使用扩展运算符来访问元素吗?如果有怎么办?
【问题讨论】:
-
您期望输出什么?
1和2? -
是的,没错
-
[...array]-> 将array克隆到一个新数组中。您获取该数组的.obj属性。数组没有.obj属性,所以你得到未定义的。[...array.obj]-> 将array.obj作为数组传播。由于数组没有.obj属性,因此您正在执行undefined的数组传播。这会导致错误。 -
长话短说,你不能像在 JS 中那样使用扩展运算符。