这几天经常做题的时候遇到这三个,看着特别像,每次都得去查找,所以这次自己也记录下来。
一、splice()方法
splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。(此方法会改变原数组,获取的是新的数组)
语法:

arrayObject.splice(index,howmany,item1,.....,itemX)

参数:
index —— 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany ——必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX —— 可选。向数组添加的新项目。

举个例子:
1、添加元素:

<script>
        var arr = [1,2,3,4,5,6]
        document.write("原数组为:" + arr + "\n" )
        arr.splice(2,0,4)
        document.write("新数组为:" ,arr)
    </script>

结果表示在第二个索引位置添加4这个元素

javascript list 加和 js list splice_开发语言


2、替换元素

<script>
        var arr = [1,2,3,4,5,6]
        document.write("原数组为:" + arr + "</br>" )
        arr.splice(2,1,2)
        document.write("新数组为:" ,arr)
    </script>

结果表示在第二个索引位置用2元素替换3元素

javascript list 加和 js list splice_开发语言_02


3、删除元素(一个参数)

<script>
        var arr = [1,2,3,4,5,6]
        document.write("原数组为:" + arr + "</br>" )
        arr.splice(-2)
        document.write("新数组为:" ,arr)
    </script>

splice(index) ——> 从index的位置开始,删除之后的所有元素(包括第index个)若 index < 0 , 则删除最后-index个元素,此结果表示删除从末尾数的两个元素

javascript list 加和 js list splice_前端_03


4、删除元素(两个参数)

<script>
        var arr = [1,2,3,4,5,6]
        document.write("原数组为:" + arr + "</br>" )
        arr.splice(2,1)
        document.write("新数组为:" ,arr)
    </script>

结果表示删除第二个索引位置处的3元素

javascript list 加和 js list splice_开发语言_04

总结:

  • 如果splice() 方法中存在一个或两个参数,表示删除操作。如果存在三个参数或三个以上参数的时候要着重记住第二个元素,若第二个元素为0就是添加操作,添加第三个及后面的元素,如果第二个元素不为0则是替换操作,替换第三个及后面的元素。
  • splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
  • 如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

二、slice()方法
用于截取数组,并返回截取到的新的数组,数组与字符串对象都使用(此方法对原数组不会改变
语法:

array.slice(start, end)

参数:
start::必需,规定从何处开始选取。如是负数,规定从数组尾部开始算起,也就是说,-1指的是最后一个元素,以此类推;
end:可选,规定从何处结束选取。该参数是数组片段结束处的数组下标。如果没有指定该参数,那么切分的数组包含从star到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

返回值:一个新的数组,包含从start 到end(不包括该元素)的ArrayObject 中的元素。
举例

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

javascript list 加和 js list splice_开发语言_05

三、split()方法
split() 方法用于把一个字符串分割成字符串数组。 (此方法不改变原始字符串。)
提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

语法:

string.split(separator,limit)

参数:
separator :可选。字符串或正则表达式,从该参数指定的地方分割 string Object。
limit :可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

举例

<script>
        var str="How are you doing today?";
		var n=str.split("");
		console.log(n);
    </script>

javascript list 加和 js list splice_前端_06

<script>
        var str="How are you doing today?";
		var n=str.split(" ",3);
		console.log(n);
    </script>

javascript list 加和 js list splice_数组_07