一个简单的需求是,在遍历一个数组时,移除指定的项。
下列代码是不能正常工作的:

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

最新文章

  1. 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.
  2. jquery 图片没有路径,不显示图片。
  3. Hadoop官方文档翻译——YARN Architecture(2.7.3)
  4. 【POJ 2482】Stars in Your Window
  5. HTMl5-canvas 入门级复习
  6. ACE 1.1.9 发布,开源云端代码编辑器
  7. POJ2418——Hardwood Species(map映射)
  8. CSS学习_属性选择器
  9. VC++6.0 编写插件(图文并茂)
  10. [转] Are You Making a Big Mistake in This Volatile Market?
  11. jsp js java
  12. linux下JUCE源码编译依赖库
  13. js 小数计算为啥和想象中不一样!
  14. Linux上Simplescalar/ARM的安装和运行文档
  15. Fidder
  16. VNC远程连接阿里云Linux服务器 图形界面
  17. Qt QByteArray或者Char转十六进制 QString
  18. Spring Boot中扩展XML请求和响应的支持
  19. Redux其实很简单(原理篇)
  20. Python 3 实现定义跨模块的全局变量和使用

热门文章

  1. Python学习笔记五(读取提取写入文件)
  2. SVN应用
  3. MVC ValidationAttribute 验证一个字段必须大于另一个字段
  4. 从实践角度重新理解BIO和NIO
  5. Vue 实现点击空白处隐藏某节点(三种方式:指令、普通、遮罩)
  6. Api版本管理
  7. moloch1.8.0简单操作手册
  8. HTML CSS整理笔记
  9. 百万年薪python之路 -- JS的BOM与DOM对象
  10. [Tarjan系列] Tarjan算法与有向图的SCC