gpt4 book ai didi

javascript - 如何缩短在数组传播中具有 if 语句的 javascript 代码

转载 作者:行者123 更新时间:2023-11-30 11:08:50 24 4
gpt4 key购买 nike

有没有办法在 reduce 函数中缩短这个 if 语句。我尝试使用

acc = [...acc, v || ''];

但这只是添加了一个空字符串。

Object.entries(props).reduce((acc, [k, v]) => {
if (v) {
acc = [...acc, v];
}
return acc;
}, []);

我也不想在 [k, v] 中使用 k,因为 linter 已经崩溃了。如何不使用 k 变量但仍然获取 value 变量?

最佳答案

使用三元表达式。您可以使用 array destructuring to skip the key (k) - [, v]:

Object.entries(props).reduce((acc, [, v]) => v ? [...acc, v] : acc, []);

但是,更实用的解决方案(并且因为您不需要 key )是使用 Object.values() , 和 Array.filter()Boolean得到相同的结果:

Object.values(props).filter(Boolean);

关于javascript - 如何缩短在数组传播中具有 if 语句的 javascript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54600255/

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