ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JS中splice,slice,split三者区别

2022-01-03 22:32:58  阅读:131  来源: 互联网

标签:arr slice 删除 元素 JS 参数 split 数组 var


这几天经常做题的时候遇到这三个,看着特别像,每次都得去查找,所以这次自己也记录下来。
一、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这个元素
在这里插入图片描述
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元素
在这里插入图片描述
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个元素,此结果表示删除从末尾数的两个元素
在这里插入图片描述
4、删除元素(两个参数)

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

结果表示删除第二个索引位置处的3元素
在这里插入图片描述

说明

  • 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会限于负数相加再截取
        console.log(del);
        console.log(del1);
        console.log(del2);
        console.log(del3);
        console.log(del4);
    </script>

在这里插入图片描述

三、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>

在这里插入图片描述

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

在这里插入图片描述

标签:arr,slice,删除,元素,JS,参数,split,数组,var
来源: https://blog.csdn.net/weixin_50828895/article/details/122292384

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有