让我说:
const arr = [
{label: 1, value: "One"},
{label: 2, value: "two"}
}
我想从中获取value
作为字符串,
传统方式:
const strArr = [];
arr.forEach(ele => {strArr.push(ele.value)});
console.log(strArr);
但是我可以使用传播算子或其他任何方式吗?
答案 0 :(得分:3)
您可以使用Array#map
方法。
const arr = [{
label: 1,
value: "One"
},
{
label: 2,
value: "two"
}
]
let res = arr.map(o => o.value)
// or in case you want to create an object with only value
// property then you can use Destructuring
// .map(({ value }) => ({ value }))
console.log(res)
答案 1 :(得分:2)
您可以通过定义映射函数来使用Array.from
:
const arr = [
{label: 1, value: "One"},
{label: 2, value: "two"}
];
const vals = Array.from(arr, o => o.value);
console.log(vals);
答案 2 :(得分:1)
您不能使用传播运算符来做到这一点。请改用map()
。
const arr = [{label: 1, value: "One"}, {label: 2, value: "two"}]
const res = arr.map(x => x.value);
console.log(res)
答案 3 :(得分:1)
在这种情况下,我也会使用.map()。但是,如果您真的想使用传播运算符,则可以这样做。
list