javascript_split_splice_slice

前言

博主常常在写算法或者写项目时将这三者API搞混,为了彻底弄懂,这里梳理一下这三者命名差不多且容易搞混的API。


split

中文意思有:分裂,裂缝,裂开等。

其作用是:把一个字符串分割成字符串数组。

可以理解为:一个字符串按照特定字符或正则分裂成字符串数组。

具体调用形式为:

stringObject.split(separator : string || RegExp,howmany : number) : Array;
参数 描述 类型 作用
separatpr 必须             string 或者 正则表达式

根据此字符串或正则分割字符串,返回的数组中的字串不包括 separator 自身

howmany

可选     

number

指定返回的数组长度,超出数组长度的元素将被忽略

调用例子:

const str = 'aaa bcc akak html haha';
const arr1 = str.split(' ');
const arr2 = str.split(' ', 3);
const arr3 = str.split(/[ ]+/);

console.log(arr1);  // ["aaa", "bcc", "akak", "html", "haha"]
console.log(arr2);  // ["aaa", "bcc", "akak"]
console.log(arr3);  // ["aaa", "bcc", "akak", "html", "haha"]

splice

中文意思有:拼接

其作用是:给数组添加或者删除项目,返回被删除的项目。

可以理解为:给原数组拼接新数组,可是也可以删除项目,形成新数组

所以注意:该方法会改变原数组

具体调用形式为:

arrayObject.splice(index : number, howmany : number, item1,...,itemX : any); : void
参数 描述 类型 作用
index 必须         number 规定添加/删除项目的位置(包括该位置),使用负数可从数组结尾处规定位置。
howmany 必须 number 要删除的项目数量。如果设置为 0,则不会删除项目。
item(n) 可选 any 向数组中添加的项目

调用例子:

const arr = [1, 2, 3, 4, 5, 6];
const arr2 = [10, 11, 12];
arr.splice(1, 2, ...arr2);
console.log(arr); // [1, 10, 11, 12, 4, 5, 6]

 


slice

中文意思有:切片,切 等

其作用是:从已有的数组中返回选定的元素。

可以理解为:用切片将数组中的子数组切出来,返回一个新数组,但是不会改变原数组

注意:该方法并不会修改原数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

具体调用形式:

arrayObject.slice(start : number,end : number); : Array

特别注意:左闭右开 [ start ,  end )

参数 描述 类型 作用
start  

必须  

number  

规定从何处开始选取(切)。

如果是负数,那么它规定从数组尾部开始算起的位置。

也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

end 可选 number

规定从何处结束选取。该参数是数组片断结束处的数组下标。

如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。

如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

调用例子:

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const result = arr.slice(1, 4);

console.log(result); // [2, 3, 4]

希望能帮到自己,加深印象。

发布了51 篇原创文章 · 获赞 27 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_39446719/article/details/86742944