JavaScript使用for循环和splice删除数组指定元素的注意点

本文介绍在JavaScript中如何使用for循环结合splice方法精确删除数组中的指定元素,避免索引错位,并提供filter方法的替代方案,实现高效数组操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在JavaScript里可以结合for循环和splice来删除数组指定的元素。但是要注意删除元素后,数组索引会发生改变

示例

var arr = ["a","b","c","a",'a',"b"];
var ele = "a";

for(var i = 0; i < arr.length; ) {
 if(arr[i] == ele) {
  arr.splice(i, 1);
 } else {
    i++;  //只有在没有删除元素时才对索引 i++
  }
}

注意点:

  1. for循环的索引边界应该为动态的,arr.length
  2. 只有不是被删除元素时才对索引做偏移i++

删除数组多个元素也可以使用filter这种取巧的方式,不需要再原数组上删除元素。

var arr = ["a","b","c","a",'a',"b"];
var ele = "a";
var newarr =arr.filter(function(item){ return item!==ele);

原帖地址https://majing.io/posts/10000006121204

转载于:https://www.cnblogs.com/zjhr/p/9975817.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值