gpt4 book ai didi

javascript - 为什么 JS Map 函数返回未定义?

转载 作者:行者123 更新时间:2023-11-28 14:34:12 25 4
gpt4 key购买 nike

我有一个长度约为 1000 的数组。为什么映射函数在某些索引中返回未定义?有没有办法只返回满足这个条件的数组?我想返回一个值 > 0 的数组。

 var total_percents = cars.map(function(element) {
var savings_percent = Number(element[0].getAttribute("percent-savings"));
if (savings_percent > 0)
return savings_percent;
});

最佳答案

您需要在映射后过滤值,可以使用带有谓词的 filter 数组方法来实现,例如 car => car > 0

var total_percents = cars.map((element) => Number(element[0].getAttribute("percent-savings"))).filter(car => car > 0)

您还可以使用 reduce 方法一次组合这两个操作:

var total_percents =
cars.reduce((acc, element) => {
const percentSavings = Number(element[0].getAttribute("percent-savings"));

if (percentSavings > 0) {
acc.push(percentSavings);
}

return acc;
}, [])

关于javascript - 为什么 JS Map 函数返回未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50283214/

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