建议52:建议使用splice删除数组
删除数组元素的方法有多种,最简单的方法是利用length属性来截断数组,但这种方法比较笨拙,仅能够截断尾部元素。在JavaScript中,由于数组其实就是对象,因此使用delete运算符可以从数组中移除元素。
var numbers=['zero','one','two','three','four','five','six','seven','eight','nine'];
delete numbers[2]; // numbers=['zero','one',undefined,'three','four','five', 'six','seven','eight','nine'];
但是,使用这种方式删除指定下标位置的元素后,会在数组中遗留一个空洞。这是因为排在被删除元素之后的元素保留了它们最初的名字(下标位置),而我们通常想要的是递减后面每个元素的名字(下标)。
幸运的是,JavaScript数组有一个splice方法,它可以删除一些元素并将它们替换为其他的元素。splice方法的第一个参数是数组中的一个序号,第二个参数是要删除的元素个数。任何额外的参数会在序号那个点的位置被插入数组中。例如:
var numbers=['zero','one','two','three','four','five','six','seven','eight','nine'];

  1. splice (2,1) ; // numbers = ['zero', 'one', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
    执行以上代码之后,元素值为“three”的下标值从4变为3,同理,其后所有元素的下标值都递减1。因为必须移除被删除元素后面的每个元素,并且将一个新的键值重新插入,因此,这对于大型数组来说效率会更高。

JS编程建议——52:建议使用splice删除数组相关推荐

  1. js使用splice删除数组元素

    js使用splice删除数组元素 splice(index,num,item1,.....,itemX)index: 必需,规定开始添加/删除项目的索引,使用负数可从数组结尾处规定位置 num:必需, ...

  2. Array.splice()--删除数组中重复的数据

    splice方法 从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素. 用法 my_array.splice(start, deleteCount [, val ...

  3. JavaScript使用for循环和splice删除数组指定元素的注意点

    在JavaScript里可以结合for循环和splice来删除数组指定的元素.但是要注意删除元素后,数组索引会发生改变 示例 var arr = ["a","b" ...

  4. jQuery如何根据元素值删除数组元素

    用到的方法$.inArry(); $.inArray( value, array [, fromIndex ] ) value 任意类型 用于查找的值. array Array类型 指定被查找的数组. ...

  5. javascript删除数组中的几种方式

    从 JavaScript 数组的末尾删除元素 通过将 length 属性设置为小于当前值的值,可以从数组的末尾删除 JavaScript 数组元素.任何索引大于或等于新长度的元素都将被删除. var ...

  6. 笔记:编程的一些建议 - 时间伙伴 - 博客园

    笔记:编程的一些建议 0.今天偶然和同学聊到Eric Steven Raymond的<大教堂与集市>,想起可能会有些同学没看过,给个链接吧.http://www.yeeyan.com/ar ...

  7. 编写高质量代码:改善Java程序的151个建议(第4章:字符串___建议52~55)

    建议52:推荐使用String直接量赋值 一般对象都是通过new关键字生成的,但是String还有第二种生成方式,也就是我们经常使用的直接声明方式,这种方式是极力推荐的,但不建议使用new Strin ...

  8. 转载--编写高质量代码:改善Java程序的151个建议(第4章:字符串___建议52~55)

    阅读目录 建议52:推荐使用String直接量赋值 建议53:注意方法中传递的参数要求 建议54:正确使用String.StringBuffer.StringBuilder 建议55:注意字符串的位置 ...

  9. 自学python爬虫要多久-Python爬虫要学多久,给初学编程者的建议

    Python爬虫要学多久? 初学Python有哪些建议?个人学习能力不同,掌握的时间也不同.建议先熟悉python的基础语法,再深入练习.如果用python写爬虫是为了满足"抓数据" ...

最新文章

  1. 单词:readme emulate prompt cross-reference copyright align
  2. 字节跳动2019暑期实习生算法岗笔试题
  3. 「第二篇」全国一等奖,经验帖。
  4. UNION JOIN 连接表
  5. 注意:匿名函数调用直接加载函数名setInterval(move,30)
  6. 通过数组和枚举简化GPIO操作编码
  7. 选课网站html源码,选课系统网页制作(26页)-原创力文档
  8. nyoj 作业题 dp
  9. UNIX环境高级编程之第6章:系统数据文件和信息-习题
  10. CAD看图软件_CAD图纸管理软件
  11. SSM+Bootstrap+MYSQL演唱会网上订票系统
  12. 申请苹果开发者公司账号和邓白氏编码全流程
  13. python列表输出学生姓名学号链表_建立一个链表,记录学生的姓名,学号和成绩,
  14. JVM源码分析之Metaspace解密
  15. excel数据库_Excel再厉害的高手,也敌不过Access数据库的新手
  16. 【无标题】C++错题本
  17. Python爬虫:抓取智联招聘岗位信息和要求(基础版)
  18. 使用Kali Linux虚拟机破解WiFi密码的一波三折及详细操作步骤
  19. 简单的单例模式其实不简单
  20. 昨天我开除了一名程序员,因为简历造假!

热门文章

  1. MyEclipse的Debug模式
  2. 【电信增值业务学习笔记】3 语音类增值业务
  3. 求最长回文串-从动态规划到马拉车之路(上)
  4. 服务器虚拟光驱无法加载,Proxmox/创建PVE/安装windows 2012r2系统无法识别硬盘/如何添加virtio驱动/...
  5. 天然气门站监控摄像头如何布置_监控摄像头布置原则
  6. matlab画无量纲速度分布,麦克斯韦分布与概率论中典型分布的比较教学
  7. python海龟编辑器画小汽车_【海龟编辑器下载】海龟编辑器(Python编辑器) v1.3.4 官方免费版-趣致软件园...
  8. 2021下午茶数字经济蓝皮书
  9. 产品经理如何洞察人性?
  10. 面试题,产品经理岗位的哪些特点最吸引你?