在JS数组特定索引处指定位置插入元素的技巧


Posted in Javascript onAugust 24, 2014

如何在JS数组特定索引处指定位置插入元素?

需求: 将一个元素插入到现有数组的特定索引处。听起来很容易和常见,但需要一点时间来研究它。

// 原来的数组
var array = ["one", "two", "four"];
// splice(position, numberOfItemsToRemove, item)
// 拼接函数(索引位置, 要删除元素的数量, 元素)
array.splice(2, 0, "three"); // 
array; // 现在数组是这个样子 ["one", "two", "three", "four"]

如果对扩展原生 JavaScript 不反感,那么可以将这个方法添加到数组原型(Array prototype)中:

Array.prototype.insert = function (index, item) {
this.splice(index, 0, item);
};

此时,可以这样调用:

var nums = ["one", "two", "four"];
nums.insert(2, 'three'); // 注意数组索引, [0,1,2..]
array // ["one", "two", "three", "four"]
Javascript 相关文章推荐
用jquery实现学校的校历(asp.net+jquery ui 1.72)
Jan 01 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
Mar 21 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
Jun 13 Javascript
一些主流JS框架中DOMReady事件的实现小结
Feb 12 Javascript
js网页实时倒计时精确到秒级
Feb 10 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
Feb 13 Javascript
js判断主流浏览器类型和版本号的简单实现代码
May 26 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
Jan 11 Javascript
详解vue的diff算法原理
May 20 Javascript
JavaScrip数组去重操作实例小结
Jun 20 Javascript
JS查找孩子节点简单示例
Jul 25 Javascript
vue中touch和click共存的解决方式
Jul 28 Javascript
js获取checkbox复选框选中的选项实例
Aug 24 #Javascript
jQuery异步加载数据并添加事件示例
Aug 24 #Javascript
Jquery通过JSON字符串创建JSON对象
Aug 24 #Javascript
Jquery中扩展方法extend使用技巧
Aug 24 #Javascript
jquery使用$(element).is()来判断获取的tagName
Aug 24 #Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
Aug 24 #Javascript
js delete 用法(删除对象属性及变量)
Aug 24 #Javascript
You might like
PHP 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
laravel配置Redis多个库的实现方法
2019/04/10 PHP
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
Jquery实现简单的轮播效果(代码管用)
2016/03/14 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
opencv 阈值分割的具体使用
2020/07/08 Python
师范生实习个人的自我评价
2013/09/28 职场文书
自我评价范文分享
2014/01/04 职场文书
保护环境建议书100字
2014/05/13 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
碧霞祠导游词
2015/02/09 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
2015年前台文员工作总结
2015/05/18 职场文书
企业培训简报范文
2015/07/20 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang