使用splice删除数组特定元素时的一些问题

做作业的时候遇到了一个问题,需要删除数组内所有等于某一值的特定元素时

使用splice删除数组时会改变数组的长度

例如,当想删除arr数组中等于key的元素时

for(i in arr){

    if(arr[i]==key){

        arr.splice(i,1);

    }

}

使用上面的代码会导致没办法删除干净,是因为当splice每调用一次就会导致arr.length-1

而i的值没有改变,会跳过数组中的某些元素

这时候使用

while(arr.indexOf(key)!=-1){

    arr.splice(arr.indexOf(key),1);

}

就可以很好的删除掉数组内等于特定值的元素了

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在前端中,我们可以使用不同的方法来删除数组中的元素。以下是一些常用的方法: 1. 使用splice()方法:splice()方法可以直接修改原数组,并返回以新数组的形式。通过指定要删除元素的索引位置和要删除的数量,我们可以删除数组中的元素。例如,如果我们想要删除数组中的第3个元素,可以使用splice()方法,如下所示:array.splice(2, 1)。这将删除数组中索引为2的元素,并删除1个元素。 2. 使用filter()方法:filter()方法可以创建一个新的数组,其中包含满足指定条件的元素。我们可以使用filter()方法来删除数组特定元素。例如,如果我们想要删除数组中所有name属性为"myname"的对象,可以使用filter()方法,如下所示:array = array.filter(item => item.name !== "myname")。这将创建一个新的数组,其中不包含name属性为"myname"的对象。 3. 使用indexOf()方法:indexOf()方法可以返回指定元素数组中的索引位置。我们可以使用indexOf()方法找到特定元素的索引,并使用splice()方法删除元素。例如,如果我们想要删除数组中的元素2,可以使用indexOf()方法来获取其索引,然后使用splice()方法删除它。例如:const index = array.indexOf(2); if(index !== -1) { array.splice(index, 1)}。这将删除数组中的元素2。 这些是一些常用的方法来删除前端中数组中的元素。根据具体需求选择合适的方法来删除数组中的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [删除数组中的指定元素数组对象](https://blog.csdn.net/zhangyubababa/article/details/126944612)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值