在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 相关文章推荐
动态加载js的几种方法
Oct 23 Javascript
Prototype 工具函数 学习
Jul 23 Javascript
javascript 内存回收机制理解
Jan 17 Javascript
JavaScript 和 Java 的区别浅析
Jul 31 Javascript
javascript对象的使用和属性操作示例详解
Mar 02 Javascript
AngularJS基础知识
Dec 21 Javascript
jquery实现页面虚拟键盘特效
Aug 08 Javascript
JS 对java返回的json格式的数据处理方法
Dec 05 Javascript
vue之数据交互实例代码
Jun 20 Javascript
js实现登录与注册界面
Nov 01 Javascript
解析JS在获取当前月的最后一天遇到的坑
Aug 30 Javascript
Vue组件化(ref,props, mixin,.插件)详解
May 15 Vue.js
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接受文件并获得其后缀名的方法
2015/08/05 PHP
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
Python装饰器使用示例及实际应用例子
2015/03/06 Python
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
Python实现一个论文下载器的过程
2021/01/18 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
英国在线定制百叶窗网站:Swift Direct Blinds
2020/02/25 全球购物
linux面试题参考答案(1)
2016/01/22 面试题
成考报名单位证明范本
2014/01/16 职场文书
初级党校心得体会
2014/09/11 职场文书
大学生党员个人对照检查材料范文
2014/09/25 职场文书
自荐信模板大全
2015/03/27 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
追讨欠款律师函
2015/05/27 职场文书
go类型转换及与C的类型转换方式
2021/05/05 Golang
详解MySQL中的主键与事务
2021/05/27 MySQL
Opencv中cv2.floodFill算法的使用
2021/06/18 Python
使用Ajax实现进度条的绘制
2022/04/07 Javascript
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js