javascript - .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);