带有for循环+条件的Javascript数组删除不必要的元素

标签 javascript arrays

我正在循环一个数组,由于某种原因,循环+条件+拼接正在删除不应该删除的索引并保留其他应该删除的索引,有人能指出我的语法有什么错误吗?

arr2 = ['agg', 45, 'ghj', ' ', 9999, 12, 'aa', 'bb'];

function returnAlphanumeric(array){
    for (var i=0; i<array.length; i++){
        if (typeof array[i] !== "number"){
            array.splice(i, 1);
        }
    }
    console.log('Your new array is: '+array);
}
returnAlphanumeric(arr2);

最佳答案

为什么不使用过滤方法:

arr2 = ['agg', 45, 'ghj', ' ', 9999, 12, 'aa', 'bb'];
arr2.filter(a => typeof a === "number"); // 45, 9999, 12

关于带有for循环+条件的Javascript数组删除不必要的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39140706/

相关文章:

JavaScript:if 语句;对触摸元素的目标运行检查

javascript - 使用 Jest 的 React js 测试失败

java - 字符数组帮助

objective-c - 如何将 Core Data 数据放入数组数组中?与 Dave DeLong 的 CHCSVWriter 一起使用

java - 数据存储类?

javascript - JavaScript 中的对象数组排序

javascript - 基于相同项目对数组项目进行排序并创建多维数组

javascript - 如何使用匹配javascript来搜索特定单词?

javascript - 无法读取空帮助的属性 "style"。 [Javascript、HTML、CSS、JQuery]

javascript - 使用 Node 和 mongodb 在单个数组中创建多个文档的过程是什么