splice()方法删除数组中不连续的几项
来源:互联网 发布:网络线上赌博 编辑:程序博客网 时间:2024/05/18 00:58
1、正常情况下,用splice方法删除数组的某一项,完全可以
例如:
var arr=['内马尔','C罗','梅西','伊布','范佩西'];
for(let i=0;i<arr.length;i++){
//只删除一项时:梅西
if(arr[i] == '梅西'){
arr.splice(i,1);
}
}
console.log(arr);
2、那么问题来了:如果现在要删除‘内马尔’+‘梅西’+‘伊布’呢?
如果继续使用splice方法,多加一个判断而已
var arr=['内马尔','C罗','梅西','伊布','范佩西'];
for(let i=0;i<arr.length;i++){
//删除不连续多项时:内马尔+伊布+梅西
if(arr[i] == '内马尔' || arr[i] == '梅西' || arr[i] == '伊布'){
arr.splice(i,1);
}
}
console.log(arr);
Duang!删错了
3、问题分析,改进方法
因为上面每一个if判断中执行splice()后,原数组变化,原数组的中每一项的下标是会改变的哦
所以再用splice()方法就会出错!直接每次执行splice()后,i--就可以了
var arr=['内马尔','C罗','梅西','伊布','范佩西'];
for(let i=0;i<arr.length;i++){
//删除不连续多项时:内马尔+伊布+梅西
if(arr[i] == '内马尔' || arr[i] == '梅西' || arr[i] == '伊布'){
arr.splice(i,1);
i--;
}
}
console.log(arr);
4、或者使用lodash的方法
过滤数组
_.difference([1,2,3,4],[2,4])//返回[1,3]
- splice()方法删除数组中不连续的几项
- js中使用splice删除数组中某一项或几项的几种方法
- splice()方法删除二维数组项的问题
- JavaScript 中数组的 splice() 方法
- js中数组的splice()方法
- 利用Array的splice方法,删除数组的元素
- JavaScript splice() 方法 插入 删除或替换数组的元素
- JavaScript splice 方法:插入、删除或替换数组的元素
- Javascript--Array数组的splice()方法之删除、插入、替换
- Array.splice()--删除数组中重复的数据
- javascript中使用splice删除数组的问题
- js数组的splice方法
- js数组的splice方法
- javascript 数组的splice方法
- js删除数组中某一项或几项的几种方法
- 记录:js删除数组中某一项或几项的几种方法
- 记录:js删除数组中某一项或几项的几种方法
- 记录:js删除数组中某一项或几项的几种方法
- 微信自动关闭内置浏览器
- 全局函数如何跨文件使用
- Log4j的使用教程
- C#学习笔记-Winform 界面笔记
- ThinkPHP框架学习之String类
- splice()方法删除数组中不连续的几项
- Cocoapods提高速度的镜像
- 安卓开发工程师必备的后台知识(Jfinal的配置和了解,VisualSVN server的配置,数据库的安装)
- Resolving conflicts between main and test APK
- python3.4实现调用opencv3.1.0显示图像
- yarn LocalResourcesTrackerImpl remove resource Error
- 辨异 —— 有两人生日在同一天、只有两人生日在同一天
- Android ViewPaper使用FragmentPagerAdapter出现的FragmentManagerImpl为空的问题
- github项目链接