我可以仅使用扩展和解构赋值来执行此操作吗?



从这个对象数组中,我想创建一个p值的数组。['a', 'b'].

我可以仅使用扩展和解构赋值来执行此操作吗?

const arr = [ {p:'a'}, {p:'b'} ]
e.g.
console.log(...arr.p) // not valid syntax

不,这不是传播语法的用例。您应该使用map方法:

console.log(arr.map(o => o.p))

可以在参数声明中使用解构来访问属性,但这不会提高可读性:

console.log(arr.map(({p}) => p))

在这种情况下,使用点差运算符是错误的。

您应该改用Array.map

const secondArr = arr.map((object) => object.p);
console.log(secondArr);

最新更新