gpt4 book ai didi

javascript - 尝试从数组中仅删除字符串元素但无法向右循环

转载 作者:行者123 更新时间:2023-11-28 15:28:12 25 4
gpt4 key购买 nike

嗨,我正在尝试仅从数组中删除字符串元素。我想创建一个循环来检查 el 是否是字符串,如果是字符串则必须进行拼接。但现在它只删除第一个匹配的字符串元素。为什么?

   var arr = [1,2, 'a', 'b']
for(var i = 0; i < arr.length; i++)
if(typeof arr[i] === "string"){
var index = arr.indexOf(arr[i]);
if(index > -1){
arr.splice(index, 1)

}
console.log(arr);
}

最佳答案

您正在修改正在循环的数组。所以你在运行时修改它,这会影响你的结果。迭代数组时不应拼接数组。

您可以使用Array.filter执行以下操作

arr = arr.filter(Number);

关于javascript - 尝试从数组中仅删除字符串元素但无法向右循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28361572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com