使用纯js从数组中删除不是数字的元素

removing elements from array which are not numbers using pure js

我被困在一个任务中,希望你能帮助我

我必须 return 一个仅由数字组成的组合数组。因此,如果该元素除了数字之外还有另一个字符,则应删除该元素。

我没什么想法。不幸的是,其中 none 个可以正常工作。 提供我的代码

function combineArray(arr1, arr2) {
    let array1 = filt(arr1);
    let array2 = filt(arr2);
    let arr3 = array1.concat(array2);
    return arr3;
}
function filt(array){
  array.forEach(function(item,index) {
    if (typeof item !== 'number'){
      array.splice(index, 1);
  }
  })
  return array;
}

这是一个简单的解决方案,它在数组上使用 filter 方法并使用 Number.isFinite 检查变量是否为数字:

function combineArray(arr1, arr2) {
    let array1 = filt(arr1);
    let array2 = filt(arr2);
    let arr3 = array1.concat(array2);
    return arr3;
}

function filt(array) {
  return array.filter(x => Number.isFinite(x));
}


console.log(combineArray(['item1', 2, 3, 'item4'],['1','second','3rd',4]));

这输出:[2, 3, 4]