gpt4 book ai didi

javascript - 用值0过滤javascript中的数组

转载 作者:搜寻专家 更新时间:2023-11-01 04:59:27 24 4
gpt4 key购买 nike

我有一个这样的数组:

let arr = ['1','2','0','3','0',undefined,'0',undefined,'3','',''];

为了过滤这个数组的 'undefined' 和 '' 元素并将其转换为数字,我这样做:

arr = arr.filter(function(e){
if(e){
return parseInt(e);
}
});

我得到了:

[1,2,3,3]

0也被过滤了,因为'return 0'意味着'return false';

我想知道你平时是怎么处理这类问题的?

更新:

我看到下面的回答提出了很多有用的方法。我从中学到了很多东西。

而如果数组中的元素需要是数字,而不是字符串,是否还要遍历数组呢?或者有另一种一步法吗?

最佳答案

替换

return parseInt(e);

return !isNaN(e);

演示

var arr = ['1','2','0','3','0',undefined,'0',undefined,'3','',''];
var output = arr.filter(function(e){
if(e){
return !isNaN(e);
}
});
console.log( output );

编辑

要将值也转换为 Number,只需将 .map( Number ) 添加到过滤器输出

演示

var arr = ['1','2','0','3','0',undefined,'0',undefined,'3','',''];
var output = arr.filter(function(e){
if(e){
return !isNaN(e);
}
}).map( Number );
console.log( output );

关于javascript - 用值0过滤javascript中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48220929/

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