最近有个需求:将一个元素插入到现有数组的指定位置
回忆了一下,添加数组元素有这几个方法:unshift
、push
、splice
前两个是只能在数组开头/末尾添加,显示是不符合需求的,那么只剩 splice
了
splice
的定义是:从数组中添加/删除项目,返回被删除的项目,并且会改变原数组。
这不就是我们想要实现的吗
上才艺
var array = [1, 3, 4];
array.splice(1, 0, 2); // after:[1, 2, 3, 4]
每次都要这样写有点麻烦,来封装一下
/**
* 指定位置插入元素
* @param index 添加元素的位置
* @param items 向数组添加的新项目
*/
Array.prototype.insert = function(index, ...items) {
if (isNaN(index)) {
throw new TypeError('请输入数字');
}
this.splice(index, 0, ...items);
};
var array = [1];
array.insert(1, 2, 3, 4); // after: [1, 2, 3, 4]
今天,你学废了吗~
来交流交流:小鑫の随笔
网友评论