在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

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

  1. [Js]删除数组指定元素

    写在前面 在最近的项目中,有用到js对数组的操作,之前自己几乎没有用到这种方法,这里就记录一下,算是对学到的东西的一种总结吧. 数组对象splice方法 splice() 方法向/从数组中添加/删除项 ...

  2. 微信小程序 循环原数组并追加新元素(删除数组指定元素)

    今天新get到了一个小技能 push和concat的区别: push 遇到数组参数时,把整个数组参数作为一个元素:而 concat 则是拆开数组参数,一个元素一个元素地加进去. push 直接改变当前 ...

  3. js删除数组指定元素

    前端小记 ES6删除数组中指定元素,例: let array = [1, 2, 3, 4]; 删除2,array.splice(array.findIndex(item => item === ...

  4. es6 删除数组指定元素

    arr.splice(arr.findIndex(item => item.id === id), 1) //item 只是参数可以写成 i 或者 v 都可以 , //后面的额id是数组的id, ...

  5. JavaScript中for循环shift()方法删除数组中的元素会被跳过或者只能删除部分

    shift()方法用于把数组的第一个元素从其中删除,并返回第一个元素的值.  https://blog.csdn.net/qq_36279445/article/details/89497007 ht ...

  6. JavaScript删除数组指定元素

  7. js 删除数组指定元素的方法

    //首先需要找到元素的下标: var arr = [2, 5, 9]; var index = arr.indexOf(5); //使用splice函数进行移除: if (index > -1) ...

  8. 微信小程序删除数组指定元素

    // 删除方法remove: function(array, val) {for (var i = 0; i < array.length; i++) {if (array[i] == val) ...

  9. java 删除数组指定元素_Java从在数组中删除指定元素

    package org.usc.action; import java.util.ArrayList; import java.util.Arrays; import java.util.List; ...

最新文章

  1. php winform通信,C# Winform 通过Socket实现客户端和服务端TCP通信
  2. 锐捷linux网卡,CentOS 7安装MentoHUSTt锐捷认证程序
  3. guzzle 封装api_Wuzzlist API与Guzzle的速成课程
  4. Hive ANALYZE NOSCAN
  5. 胜为蓝牙适配器驱动_mac 安装usb 蓝牙适配器 胜为 shengwei UDC-324B
  6. 使用python爬虫获取大乐透和双色球历史开奖数据储存到excel表中
  7. python怎么统计单词总数_python统计单词
  8. 浅谈链表的构建,next到底是什么
  9. C# winfrom窗体及控件 根据系统的分辨率自动调整位置
  10. 云原生(三十九) | Kubernetes篇之kustomize入门了解
  11. WIN10 家庭版 安装DOCKER 遇到问题:THIS COMPUTER DOESN'T HAVE VT-X/AMD-V ENABLED
  12. 基于idea-SSM的在线投稿审稿系统-稿件管理-作者管理-稿件审核(javaweb-php-asp.netC#-j2ee)
  13. 【网络安全培训】无线局域网的安全威胁都有哪些?
  14. 我们应该怎样做需求分析?(一)需求调研
  15. 【金猿案例展】FPD领域龙头企业某T社——基于ADC的智能质检服务
  16. win10 下的输入法切换成繁体的问题解决方案
  17. Deep Learning(深度学习)学习笔记整理系列之常用模型
  18. 2019年第九届中国教育机器人大赛回顾与总结
  19. hw11————玩转 Docker 容器技术
  20. LeetCode——1947. 最大兼容性评分和(Maximum Compatibility Score Sum)[中等]——分析及代码(Java)

热门文章

  1. 共享单车是如何利用物联网卡实现智能开锁的?
  2. Apple Watch的对讲机功能使用教程
  3. 计算机专业转正述职报告,计算机专业述职报告
  4. linux系统运维核心笔试题-2020年9月1日最新
  5. 用ARDUNO自制RFID读写器、复旦M1卡初探
  6. 厂房防静电防雷检测验收 三类建筑物防雷检测 河南万佳防雷验收
  7. 有3扇门,其中1扇门后有汽车,另两扇门后为山羊。你选择第1扇门后,主持人打开第2扇门,见到山羊。问你这时该不该换选第3扇门?
  8. TFRecord and tf.Example
  9. [ 数据通信面试篇 ] 数通面试题大集合(详解),看完直怼面试官(四)
  10. Ecology8 ecology8流程表单常用js