js数组的增删改查总结

但估计很多小伙伴初学正则时已经被其奇形怪状的字符给劝退了, 今天我们来将其解剖一下

第一种 基于splice封装的扩展函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//首部插入单个元素
Array.prototype.addFirst = function (e) {
this.splice(0, 0, e);
return this;
};
//尾部插入单个元素
Array.prototype.addLast = function (e) {
this.splice(this.length, 0, e);
return this;
};
//指定角标位置插入单个元素
Array.prototype.addByIndex = function (i,e) {
this.splice(i,0,e);
return this;
};

第二种 使用JS自带的函数 :

分别有push unshift concatsplice四个函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//在尾部插入
var arr = [];
var len = arr.push(1); //插入一个元素
var len = arr.push(2,3);//连续插入多个元素


//在头部插入
var len = arr.unshift(0);
var len = arr.unshift(-2,-1);


//在尾部插入
var newArr = arr.concat(4,5,6);//返回一个新的数组对象


//在头部插入多个元素
arr.splice(0,0,0.2,0.4,0.6,0.8);

第一种 基于splice封装的扩展函数:

1
2
3
4
Array.prototype.remove = function (e) {
this.splice(this.indexOf(e), 1);
return this;
};

第二种 使用JS自带函数

1
2
3
4
5
6
7
8
9
10
11
12
13
//使用 pop
var item = arr.pop(); //删除最后一个元素并返回该项

//使用 shift
var item = arr.shift(); //删除第一个元素并返回该项

//使用slice裁剪函数
var arr2 = arr.slice(2,6);//取出角标2至6的元素 组成一个新元素

//使用delete 该方法删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变
var arr = ['a','b','c','d'];
delete arr[1];
//结果为:["a", undefined × 1, "c", "d"]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Array.prototype.replace = function (origin, target) {
this.splice(this.indexOf(origin), 1,target);
return this;
};


// 或者使用循环
Array.prototype.replace = function (origin, target) {
this.map((value) => {
if (value == origin) {
return target;
} else {
value;
}
});
};

1
var index = arr.indexOf("A");//查找元素A在数组中的位置 返回-1表示不存在该元素

关于查找部分, 更多方法详见:《原生JS中判断数组中是否包含某个元素的若干种方法

本文为作者原创 转载时请注明出处 谢谢

B站入口

打赏通道

微信公众号二维码如下:

img

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

0%