使用纯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]
我被困在一个任务中,希望你能帮助我
我必须 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]