我有一个任意元素的数组,只需要获取数字元素。我试过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
返回的数组。