js splice,slice,split区别

每次遇到三个之中的两个,都会一脸懵逼,搞不清楚,记录下来。


  1. splice():数组操作,从数组中添加或删除元素,返回新的数组(⚠️:会对原数组进行更改,获取的是新的数组)
    a. 添加:splice(index,0,data1,data2,……);
    index:插入的元素的起始位置;
    0;删除的个数为0;
    data1,data2:添加的元素;
 var arr = ['a','b','c','d'];
 arr.splice(2,1,'w','z');//从下标为2的地方截取1个元素,并添加两个元素
 console.log(arr)//a,b,w,z,d

b.删除:splice(index,0);
index:删除数组的起始位置;
0:删除元素的个数;

//删除
    var arr = [1,2,3,4];
    var del = arr.splice(1,2)//从下标为1的位置删除,删除两个元素(包括下标为1的元素)
    console.log(arr)//1,4

2.slice():用于截取数组,并返回截取到的新的数组,数组与字符串对象都使用(⚠️:对原数组不会改变)
语法:arrayObject(start,end)
start:必需,规定从何处开始选取,如是负数,规定从数组尾部开始算起,也就是说,-1指的是最后一个元素,-2指倒数第二个元素,依此类推;
end:可选,规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回值:一个新的数组,包含从start到end(不包括该元素)的arrayObject中的元素。

var arr = [1,2,3,4];
var del = arr.slice(1,2)//从下标为1的位置删除,删除两个元素(不包括下标为2的元素)
var del1 = arr.slice(-1)//为元素的最后一位
var del2 = arr.slice(-6)//当只传入一个参数,而且是负数,length与参数相加
var del3 = arr.slice(1,-2)//当传入的参数为一正一负时,length会先与负数相加在截取
var del4 = arr.slice(6)//当传入的参数大于length,返回一个空数组
console.log(del)//2
console.log(del1)//4
console.log(del2)//1,2,3,4
console.log(del3)//2
console.log(del4)//[]

3.split():切割字符串,将字符串转化为字符串数组

 var str ='a,b,c,d'
 var arr = str.split(',')//使用''空格切割字符串
 console.log(arr)//['a','b','c','d']

猜你喜欢

转载自blog.csdn.net/weixin_43204255/article/details/82706608