JS之数组slice&splice

JS数组之slice&splice

JS中的数组对象Array有很多内置的方法很好用,今天我来总结一下slice和splice的用法

1.slice()方法

slice()==作用:==从数组中截取指定的元素片段(形象的比喻就是:切片)

两个形参
- -第一个形参表示起始位置,从下标0开始
- -第一个形参表示结束位置,但不包括结束位置的元素,
-详细说清请看代码(每一个consol输出语句后面的注释都是语句的页面运行结果

 // slice
        //从数组中截取指定的元素
        //两个形参:第一个是开始位置,从下标0开始
        //          第二个是结束位置,不包括结束位置

        var arr = [0, 1, 2, 3, 4, 5, 6];

        var result = arr.slice(0, 2);
        console.log(result);// [0,1]
        console.log(typeof result);//obj 数组对象

        //从第一个到倒数第二个
        var result = arr.slice(1, -2);
        console.log(result);// [1, 2, 3, 4]

        //一个参数表示从该位置起后面的所有元素
        var result = arr.slice(2);
        console.log(result);// [2,3,4,5,6]

        var result = arr.slice(-2);
        console.log(result);// [5,6]

2.splice()方法

splice()==作用:==删除数组中指定位置的元素

两个(或多个)形参
第一个形参表示起始位置,从下标0开始
第一个形参表示删除的数量
第三及以后的形参表示,在删除元素的位置,添加元素(替换)
详细说清请看代码(每一个consol输出语句后面的注释都是语句的页面运行结果

        //splice()
        //      --删除数组中指定位置的元素(会影响原来数组)
        //      --两个(或多个)形参:
        //              第一个是开始位置
        //              第二个是删除的数量
        //              第三及以后的参数表示,在删除元素的位置,添加元素(替换)

        var arr1 = [0, 1, 2, 3, 4, 5, 6];
        console.log("arr1 : " + JSON.stringify(arr1));

        var result = arr1.splice(1, 2);
        console.log("arr1.splice(1, 2) : " + result);// [1, 2]
        console.log(typeof result);
        console.log("arr1 : " + JSON.stringify(arr1));//[0,3,4,5,6]

        console.log("-----------------------");

        var arr1 = [0, 1, 2, 3, 4, 5, 6];
        console.log("arr1 : " + JSON.stringify(arr1));
        var result = arr1.splice(1, 2, 123);
        console.log("arr1.splice(1,2,123) : " + result);// [1, 2]
        console.log(typeof result);
        console.log("arr1 : " + JSON.stringify(arr1));//[0,3,4,5,6]

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

这里是学前端的练小白的每日点滴
如书写有误,请大佬不吝赐教,万分感谢
持续更新中

你可能感兴趣的:(JS)