首页技术array slice splice,js数组splice方法

array slice splice,js数组splice方法

编程之家2026-05-301139次浏览

老铁们,大家好,相信还有很多朋友对于array slice splice和js数组splice方法的相关问题不太懂,没关系,今天就由我来为大家分享分享array slice splice以及js数组splice方法的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

array slice splice,js数组splice方法

slice、splice、split 三者的区别

slice、splice、split三者的区别:

一、slice()

功能:用于提取数组或字符串的一部分,返回一个新的数组或字符串,不会改变原始数组或字符串。数组用法:arr.slice([begin[, end]])

begin:提取起始处的索引(从0开始),从该索引开始提取原数组元素。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取。

end:提取终止处的索引(从0开始),在该索引处结束提取原数组元素。slice会提取原数组中索引从begin到end的所有元素(包含begin,但不包含end)。

返回值:一个含有被提取元素的新数组。

array slice splice,js数组splice方法

字符串用法:str.slice(beginIndex[, endIndex])

beginIndex:从该索引(以0为基数)处开始提取原字符串中的字符。如果值为负数,会被当做strLength+ beginIndex看待,这里的strLength是字符串的长度。

endIndex:在该索引(以0为基数)处结束提取字符串。如果省略该参数,slice()会一直提取到字符串末尾。如果该参数为负数,则被看作是strLength+ endIndex。

返回值:一个新的字符串,包含从beginIndex到endIndex(不包括endIndex)之间的字符。

二、splice()

功能:通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。语法:array.splice(start[, deleteCount[, item1[, item2[,...]]]])start:指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从-1计数)。

array slice splice,js数组splice方法

deleteCount:可选整数,表示要移除的数组元素的个数。如果省略,或者其值大于等于array.length- start,则从start后面的所有元素都会被删除。

item1, item2,...:可选,要添加进数组的元素,从start位置开始。如果不指定,则splice()将只删除数组元素。

返回值:由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。三、split()

功能:使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。语法:str.split([separator[, limit]])separator:可选,指定用来分割字符串的字符或正则表达式。如果省略该参数,整个字符串将作为数组的唯一元素返回。

limit:可选,一个整数,限定返回的子字符串的数量。

返回值:一个字符串数组。该数组是通过将原字符串分割成子字符串来创建的。如果省略了separator,则整个字符串作为数组的唯一元素返回。总结:

slice()用于提取数组或字符串的一部分,不会改变原始数据。splice()用于修改数组,通过删除、替换或添加元素来改变原数组,并返回被修改的元素。split()用于将字符串分割成子字符串数组,根据指定的分隔符来拆分字符串。

关于slice、splice 记忆和区分

你是不是也很烦,记不住 slice()和 splice()的用法,隔一段时间,再用时就得翻文档。比如说:

本文将会介绍这些内容,如果没时间或直接看结论的,请滑动鼠标至文末。

语法如下:

begin和 end都是可选的。返回一个新的数组,是由 begin和 end决定的原数组的浅拷贝(包括 begin,不包括 end)。通俗地讲,就是截取原数组的一部分,并返回截取部分,且“不改变”原数组。

总结一下:

请看示例:

字符串也有一个类似的方法: String.prototype.slice(),它用来提取字符串的某一部分,并返回一个新的字符串,且不会改变原字符串。语法如下:

应用场景:

讲真的,它跟 slice()长得像不说,还容易混淆,隔一段时间不用,都得翻一下文档确认一下。

语法如下:

所有参数都是可选的。从 MDN上的表述看,参数 start应该不能缺省的,但实际并不会报错,因此可认为是全可选的。 splice()返回被删除的元素所组成的一个新数组,若没有删除,则返回空数组( [])

简单总结一下:

请看示例:

顺道提一下,其实 split()这个就很简单了,常用于字符串转为数组、解析 URL参数等场景。

在字符串与数字切换,常用到 String.prototype.split()、 Array.prototype.join()、 Array.prototype.reverse()方法。

语法如下:

参数 separator和 limit都是可选的。若缺省 separator时,返回的数组包含一个由整个字符串组成的元素。而 limit的作用是返回分割片段的数量。

separator可以是字符串,也可以为正则表达式,它适合提取一些不太规则的字符串。

假设有以下两个字符串,我们要把月份提取出来,并返回数组:

本文,主要是讲解 slice()和 splice()方法及其区别。好吧,面试官也喜欢问这俩货。

slice方法 和splice 方法的区别

定义

splice()方法用于插入、删除或替换数组的元素。

slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

用法

splice的参数:splice(start, deleteCount, [item1[, item2[,... [,itemN]]]])

数组从 start下标开始,删除deleteCount个元素,并且可以在这个位置开始添加 n个元素

当start,deleteCount均为0的时候,也就是在数组的最前面插入新的元素。

当参数只有 start,deleteCount就是从start下标开始删除deleteCount个数组的元素,

当参数只有start参数时,就是删除从start下标起至最后的元素

当参数为负的时则该参数规定的是从数组元素的尾部开始算起的位置(-1指的是数组中倒数第一个元素,-2指的是,数组中倒数第二个元素。)

slice参数: slice(start,end);

slice方法,在string对象和array对象的用法上类似。

对于数组对象来说,slice方法提取从 start下标起以end下标为结尾的一段元素(但不包括end下标的元素),然后返回新的数组,对原数组没有任何是影响,

当参数为负时则该参数是从数组的末尾索引开始算起,(-1指的是数组中倒数第一个元素,-2指的是,数组中倒数第二个元素。)

当参数为一个参数,当为一个参数时,提取是以 start下标起至末尾的部分元素。

当start为0时,等于说是克隆一个新的数组,克隆后两个数组进行各自的操作,都互不影响,

var clone= array.slice(0);

文章分享结束,array slice splice和js数组splice方法的答案你都知道了吗?欢迎再次光临本站哦!

黑神话悟空第三章,黑悟空第三章所有隐藏源码码网(小程序源码)