首页 > 解决方案 > .Splice() 方法无法正常工作 - 我在这里缺少什么?

问题描述

我有这段代码,我要做的就是从原始arr数组中删除不是数字的值,以输出仅包含数字值的修改后的数组。

出于某种原因,它设法通过某些值而不是其他值来清除(检查下面的控制台输出。调试器没有对这种行为有太多了解 - 有人可以帮忙吗?

const arr = [3, 9, NaN, false, 13, -10, false, 17, 14, 9, 5, true, "error", true, false, "error", false];

for (let i = 0; i < arr.length; i++) {
  if (typeof arr[i] !== "number" || isNaN(arr[i]))
    arr.splice(i, 1);

}

console.log(arr);

标签: javascriptarraysmethodssplice

解决方案


推荐阅读