去除数组中指定元素的方法
情况一:如果去除指定元素在数组中不是连续出现
比如数组 arr = [3,0,11,0,3,0,66];
方法一:使用添加元素的方法.push();
var arr = [3, 0, 11, 0, 3, 0, 66];var newArry = [];for (var i = 0; i < arr.length; i++) {if (arr[i] != 0) {newArry.push(arr[i]);}}console.log(newArry);
方法二:使用.splice();
var arr = [3, 0, 11, 0, 3, 0, 66];for (var i = 0; i < arr.length; i++) {if (arr[i] == 0) {arr.splice(i, 1);}}console.log(arr);
情况二:如果去除指定元素在数组中连续出现几个,不进行处理会存在删漏掉的情况
原因:在循环遍历的时候,i是元素的下标值,删除数组中某个元素的时候,循环i的值不变,但是里面的元素少了,相对应的元素就会向前靠,这样就会漏掉相邻的需要删除的元素;用方法二和方法三,就会避免出现这个问题,强力推荐方法三。
比如数组:arr = [3, 7, 11, 0, 0, 0, 3, 0, 55]
方法一:使用添加元素的方法.push();
var arr = [3, 7, 11, 0, 0, 0, 3, 0, 55];var newArry = [];for (var i = 0; i < arr.length; i++) {if (arr[i] != 0) {newArry.push(arr[i]);}}console.log(newArry);
方法二:使用.splice(),使用倒序遍历;
var arr = [3, 7, 11, 0, 0, 0, 3, 0, 55];for (var i = arr.length-1; i >= 0; i--) {if (arr[i] == 0) {arr.splice(i, 1);}}console.log(arr);
方法三:强力推荐这个方法
var arr = [3, 7, 11, 0, 0, 0, 3, 0, 55]for (var i = 0; i < arr.length; i++) {if (arr[i] == 0) {arr.splice(i, 1);i--;}}console.log(arr);
去除数组中指定元素的方法相关推荐
- JS中去除数组中重复元素的方法
JS中去除数组中重复元素的方法 第一种方法:使用数组中的splice方法 splice():删除元素,并向数组添加新元素,并返回被删除的元素 function f1(){var _arr=[8,5,0 ...
- JS JavaScript中去除数组中重复元素的方法
JS JavaScript中去除数组中重复元素的方法 感觉比较好理解的3种方法,总结一下,大家共同学习 方法一: Array.prototype.method1 = function(){ var a ...
- 数组中某个元素相同的去重_几种去除数组中重复元素的方法、数组去重
工作中遇到的一个问题,就是去除数组中重复的元素,记录一下几种有效的方法: 第一种思路:遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中. 去除 ...
- java中去除数组中重复元素的方法
题目 请设计一个方法,将一个int数组arr中重复的元素去除,并且返回新数组newArr. 解法一 保留重复数字中的第一次出现的元素 首先建立一个与原数组等长的标记数组flag[],它的下标与原数组下 ...
- 删除数组中指定元素(ES6方法)
原数据 let arr =[{id:1},{id:2},{id:3},{id:8}] 待删除数据 obj = {id:1} 在原数据上删除数据 arr.splice(arr.findIndex(ite ...
- html数组删除指定元素,js怎么删除数组中指定元素?
js中删除数组中指定元素的方法:首先通过循环遍历该数组得到指定元素的索引值,然后根据索引值使用splice()方法即可删除元素,语法"array.splice(索引值,1)". J ...
- JS slice()方法返回数组中指定元素
JS slice()方法返回数组中指定元素 定义和用法 slice() 方法可从已有的数组中返回选定的元素. slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分. 注意: sli ...
- JavaScript 删除数组中指定元素(5种方法)
JavaScript 删除数组中指定元素 在 JavaScript 中,数组是一种常见的数据类型,可以存储多个元素.有时候,我们需要从数组中删除某些特定的元素.本文将介绍如何使用 JavaScript ...
- JavaScript中如何删除数组中指定元素
js中删除数组中指定元素大致有以下三中方法. 1.使用for循环遍历,根据条件判断. for (let i = 0; i < array.length; i++) {if (array[i] = ...
最新文章
- mahout kmeans
- 华南农业大学在Annual Review of Microbiology发表三篇综述文章
- 命令注入_命令注入绕过方式总结 (20210111学习笔记)
- boost::empty_value的实例
- 信息安全学习路线图_Python学习图谱:学习到困惑的时候可以参考的图谱
- fastjson反序列化过滤字段属性_Fastjsonlt;=1.2.47反序列化漏洞源码分析及复现
- 链接oracle 灾难性故障,打开计划任务的时候出现灾难性故障.
- 十字链表、邻接多重表
- DE 31 Non-linear Autonomous Systems
- 水稻细菌性条斑病的分割与严重程度估计方法
- Centos Ubuntu防爆破ssh脚本
- js获取ck_JS获取CkEditor在线编辑的内容
- 浏览器怎么导入导出|删除书签,方法步骤来咯
- android访问服务器405,android
- 工业大数据漫谈5:工业大数据案例(上)
- Android广播静态注册失效
- 储存卡数据怎么恢复?恢复靠它
- 知网CAJ转PDF(硕博论文带书签)
- win10自动修复-无限循环【通用完美】超简单解决办法
- Scala中过滤操作filter与filterNot函数
热门文章
- 仿百度首页(可进行百度搜索)
- 相邻位数字差值的绝对值不能超过77_微信小程序直播怎么用和挣钱?4位内测CEO答5大关键问题...
- dlib.get_frontal_face_detector()人脸检测
- 完美正方形(蓝桥杯)
- 从零开始用 Python 打造自己的区块链
- uniapp-无缝轮播
- 区块链项目/比特币/币圈管理后台/OTC系统管理后台/虚拟数字货币OTC场外交易平台/交易币种管理/币种配置/用户资产/充币记录/划转记录/币种参数/商家管理/rp原型/Axure后台管理原型
- MEM/MBA数学强化(05)应用题
- 线性回归-多元线性回归
- Transaction silently rolled back because it has been marked as rollback-only