我有一个任意元素数组,只需要获取数字元素即可。
我尝试了arr.filter((c) => !isNaN(parseInt(arr[c])));
,但是没有用。我仍然有一个完整的阵列。这里有什么问题,我还能做什么?
答案 0 :(得分:1)
您正尝试使用数字访问索引,请更改为:
let newArray = arr.filter((c) => !isNaN(parseInt(c)));
^
此外,您需要使用由函数filter
返回的数组。
答案 1 :(得分:0)
.filter
回调中的第一个参数是要迭代的数组项-如果c
是数组项,则引用arr[c]
通常不会没什么意义。尝试使用简单的typeof
检查:
const arr = [3, 'foo', { bar: 'baz' }, false, 4, 5];
console.log(arr.filter(item => typeof item === 'number'));