slice,splice,split的用法

工作了很久始终对这三个用法处于混淆状态,今天写个帖子来警示下自己

//            slice(index,length),从第index值截取length个元素组成新的数组,不改变原数组
//            slice(index)从index下标值开始截取,组成新的数组不改变原数组
            var arr=[0,1,2,3,4,5,6];
            var a=arr.slice(0,4);//01234
            var b=arr.slice(3);//3456
            console.log(a);//01234
            console.log(b);//3456
            console.log(arr);//0123456
//            当传入一个数值且为负数时length会与这个数值相加然后再截取,当该数值的绝对值大于length时会返回全部
//            当传入的值是一正一负时,此时的length不再是arr的length而是新数组的length,此时length同样与负数相加,再截取值
//            当传入的值时一正一副且第二个值的绝对值大于或等于length的个数则返回空数组
            var c=arr.slice(-5);
            console.log(c);//23456
            var d=arr.slice(-8);
            console.log(d)//0123456
            var e=arr.slice(2,-2);
            console.log(e);//234
            var f=arr.slice(2,-5);
            console.log(f);//空值
            var arr1=[0,1,2,3,4,5,6];
//            splice(index,length,item1,item2)从第index开始选择length个元素进行删除,item1,item2放入删除的位置
//            改变了原数组使原数组一目前的方法进行排列,操作过后的值为删除掉的值
            var g=arr1.splice(2,2,8,8);
            console.log(g)//23
            console.log(arr1);//0188456
//            split(separator,limit) 不改变原数组组成新的字符串,以separator分割字符串对目前字符串取limit个组成新的数组
            var str="abc丰城市123";
            var h=str.split("市",2);
            console.log(h);
            console.log(str);

 

//slice(index,length),从第index值截取length个元素组成新的数组,不改变原数组//slice(index)从index下标值开始截取,组成新的数组不改变原数组var arr=[0,1,2,3,4,5,6];var a=arr.slice(0,4);//01234var b=arr.slice(3);//3456console.log(a);//01234console.log(b);//3456console.log(arr);//0123456//当传入一个数值且为负数时length会与这个数值相加然后再截取,当该数值的绝对值大于length时会返回全部//当传入的值是一正一负时,此时的length不再是arr的length而是新数组的length,此时length同样与负数相加,再截取值//当传入的值时一正一副且第二个值的绝对值大于或等于length的个数则返回空数组var c=arr.slice(-5);console.log(c);//23456var d=arr.slice(-8);console.log(d)//0123456var e=arr.slice(2,-2);console.log(e);//234var f=arr.slice(2,-5);console.log(f);//空值var arr1=[0,1,2,3,4,5,6];//splice(index,length,item1,item2)从第index开始选择length个元素进行删除,item1,item2放入删除的位置//改变了原数组使原数组一目前的方法进行排列,操作过后的值为删除掉的值var g=arr1.splice(2,2,8,8);console.log(g)//23console.log(arr1);//0188456//split(separator,limit) 不改变原数组组成新的字符串,以separator分割字符串对目前字符串取limit个组成新的数组var str="abc丰城市123";var h=str.split("市",2);console.log(h);console.log(str);

上一篇:go-函数


下一篇:JavaScript方法中“splice(a,b,…)”的Java等效方法