JavaScript:检查数组元素是否为数字



我有一个任意元素的数组,只需要获取数字元素。我试过arr.filter((c) => !isNaN(parseInt(arr[c])));,但没用。我还有一个完整的数组。这里出了什么问题,我还能做什么?

.filter回调中的第一个参数是在上迭代的数组项-如果c是数组项,那么引用arr[c]通常没有多大意义。尝试使用简单的typeof检查:

const arr = [3, 'foo', { bar: 'baz' }, false, 4, 5];
console.log(arr.filter(item => typeof item === 'number'));

您正试图使用数字访问索引,请更改为:

let newArray = arr.filter((c) => !isNaN(parseInt(c)));
^

此外,您需要使用函数filter返回的数组。

相关内容

最新更新