区分数组的splice,split,slice方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区分数组的splice,split,slice方法相关的知识,希望对你有一定的参考价值。

参考技术A 每门语言估计都有相同的语法,我的大前端也不例外,工作中经常要对数据进行操作,对splice,split ,slice,总是傻傻分不清楚,害的没次都要查文档,然而查完有忘了,(手动尴尬),现在把这几个方法总结一下,以便区分。为了方便查阅。如果你有更好的建议,欢迎交流。。

定义:slice() 方法可从已有的数组中返回选定的元素。
用法:arrayObject.slice(start,end)

实例:

定义:slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
用法:stringObject.slice(start,end)
解释:

返回值:一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符

实例:

定义:splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
用法:arrayObject.splice(index,howmany,item1,.....,itemX)
解释:

返回值:包含被删除项目的新数组,如果有的话。

实例:

定义:split() 方法用于把一个字符串分割成字符串数组。
用法:stringObject.split(separator,howmany)
解释:

返回值:一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

实例:

splice()slice()split()函数的区分

1.slice(数组)

用法:array.slice(start,end)

解释:该方法是对数组进行部分截取,并返回一个数组副本;参数start是截取的开始数组索引,end参数等于你要取的最后一个字符的位置值加上1(可选)

//如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾
var a=[1,2,3,4,5,6];
var b=a.slice(0,3);    //[1,2,3]
var c=a.slice(3);       //[4,5,6]

//如果两个参数中的任何一个是负数,array.length会和它们相加,试图让它们成为非负数,举例说明:
//当只传入一个参数,且是负数时,length会与参数相加,然后再截取
var a=[1,2,3,4,5,6];
var b=a.slice(-1);    //[6]

//当只传入一个参数,是负数时,并且参数的绝对值大于数组length时,会截取整个数组
var a=[1,2,3,4,5,6];
var b=a.slice(-6);    //[1,2,3,4,5,6]
var c=a.slice(-8);    //[1,2,3,4,5,6]

//当传入两个参数一正一负时,length也会先于负数相加后,再截取
var a=[1,2,3,4,5,6];
var b=a.slice(2,-3);    //[3]

//当传入一个参数,大于length时,将返回一个空数组
var a=[1,2,3,4,5,6];
var b=a.slice(6);  //[]

2.slice(字符串)

用法:string.slice(start,end)

解释:slice方法复制string的一部分来构造一个新的字符串,用法与参数匀和数组的slice方法一样;end参数等于你要取的最后一个字符的位置值加上1

//举个简单的例子
var a="i am a boy";
var b=a.slice(0,6);    //"i am a"

3.splice(数组)

用法:array.splice(start,deleteCount,item...)

解释:splice方法从array中移除一个或多个数组,并用新的item替换它们。参数start是从数组array中移除元素的开始位置。参数deleteCount是要移除的元素的个数。

如果有额外的参数,那么item会插入到被移除元素的位置上。它返回一个包含被移除元素的数组。

//举一个简单的例子
var a=[‘a‘,‘b‘,‘c‘];
var b=a.splice(1,1,‘e‘,‘f‘);    //a=[‘a‘,‘e‘,‘f‘,‘c‘],b=[‘b‘]

4.split(字符串)

用法:string.split(separator,limit)

解释:split方法把这个string分割成片段来创建一个字符串数组。可选参数limit可以限制被分割的片段数量。separator参数可以是一个字符串或一个正则表达式。如果

separator是一个空字符,会返回一个单字符的数组。

//再举一个简单的例子
var a="0123456";
var b=a.split("",3);    //b=["0","1","2"]

以上是关于区分数组的splice,split,slice方法的主要内容,如果未能解决你的问题,请参考以下文章

区分slice,splice和split方法

区分slice,splice,split

splice()slice()split()函数的区分

区分substr、substring、slice、split、splice

slice,splice,split方法

split,slice,splice,replace的用法