gpt4 book ai didi

Javascript 将对象数组转换为仅具有 ES6 特定键的数组

转载 作者:行者123 更新时间:2023-11-30 11:05:23 29 4
gpt4 key购买 nike

我有以下数组

const array = [{name:'one', value:1},{name:'two'},{name:'three', value:3}]

我想要的是得到

const finalarr = [1,3]

也就是得到一个有键值的值数组

我试过了

const finalarr = arr.map(obj=>obj.value)

以上返回[1, undefined, 3];

我也试过

const finalarr = arr.map(obj => {
if (obj.value) {
return obj.value;
}
})

但我仍然得到 [1, undefined,3]

我如何调整它以仅返回具有键值的对象的值以消除未定义的键?

最佳答案

使用函数 reduce 因为函数 map 返回一个与源数组长度相同的数组。

const finalarr = arr.reduce((a, {value}) => {
if (value) a.push(value);
return a;
}, []);

重要提示:您的方法是跳过值为零 0 的对象。

示例

const arr = [{name:'one', value:1},{name:'two'},{name:'three', value:3}];
const finalarr = arr.reduce((a, {value}) => {
if (value) a.push(value);
return a;
}, []);
console.log(finalarr);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于Javascript 将对象数组转换为仅具有 ES6 特定键的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55859923/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com