JavaScript: 遍历Array的同时删除指定项
2024-10-21 04:05:29
一个简单的需求是,在遍历一个数组时,移除指定的项。
下列代码是不能正常工作的:
var elements = [1, 5, 5, 3, 5, 2, 4];
for(var i = 0; i < elements.length; i++){
if(elements[i] == 5){
elements.splice(i, 1);
}
}
不能正常执行的问题是,element.length是在for循环开始时就确定的snapshot,不会随着splice操作而改变。
正确的写法是:
var elements = [1, 5, 5, 3, 5, 2, 4];
for(var i = elements.length -1; i >= 0 ; i--){
if(elements[i] == 5){
elements.splice(i, 1);
}
}
是为之记。
Alva Chien
2016.8.22
最新文章
- SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/D:/MyEclipseWorkSpace/Emps/WebRoot/WEB-INF/lib/slf4j-nop-1.5.6.
- jquery 图片没有路径,不显示图片。
- Hadoop官方文档翻译——YARN Architecture(2.7.3)
- 【POJ 2482】Stars in Your Window
- HTMl5-canvas 入门级复习
- ACE 1.1.9 发布,开源云端代码编辑器
- POJ2418——Hardwood Species(map映射)
- CSS学习_属性选择器
- VC++6.0 编写插件(图文并茂)
- [转] Are You Making a Big Mistake in This Volatile Market?
- jsp js java
- linux下JUCE源码编译依赖库
- js 小数计算为啥和想象中不一样!
- Linux上Simplescalar/ARM的安装和运行文档
- Fidder
- VNC远程连接阿里云Linux服务器 图形界面
- Qt QByteArray或者Char转十六进制 QString
- Spring Boot中扩展XML请求和响应的支持
- Redux其实很简单(原理篇)
- Python 3 实现定义跨模块的全局变量和使用