从这个对象数组中,我想创建一个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);