最近有个需求: 将一个元素插入到现有数组的指定位置
回忆了一下, 添加数组元素有这几个方法: 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]
今天, 你学废了吗~
来交流交流: 小鑫の随笔
来源: http://www.jianshu.com/p/88309c9cc50f