javascript_split_splice_slice

本文深入解析JavaScript中split、splice和slice三个数组方法的区别与应用。split用于将字符串按特定字符分割成数组;splice用于在数组中添加或删除元素,并改变原数组;slice则用于从数组中提取一段元素,生成新数组而不改变原数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

博主常常在写算法或者写项目时将这三者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]

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

JavaScript中,`split`、`slice`和`splice`是用于处理字符串和数组的常用方法。它们的功能和用法有所不同,以下是它们的区别: 1. **`split`** - **用途**:用于将字符串分割成数组。 - **语法**:`string.split(separator, limit)` - **参数**: - `separator`:指定分割的位置,可以是字符串或正则表达式。 - `limit`:可选参数,限制分割次数。 - **返回值**:一个数组,包含分割后的子字符串。 - **示例**: ```javascript let str = "Hello, World!"; let arr = str.split(", "); console.log(arr); // ["Hello", "World!"] ``` 2. **`slice`** - **用途**:用于提取字符串或数组的一部分,并返回一个新的字符串或数组。 - **语法**:`array.slice(start, end)` 或 `string.slice(start, end)` - **参数**: - `start`:开始索引(包含)。 - `end`:结束索引(不包含)。可选参数,省略时提取到字符串或数组的末尾。 - **返回值**:一个新的字符串或数组,包含提取的部分。 - **示例**: ```javascript let arr = [1, 2, 3, 4, 5]; let newArr = arr.slice(1, 4); console.log(newArr); // [2, 3, 4] let str = "Hello, World!"; let newStr = str.slice(7, 12); console.log(newStr); // "World" ``` 3. **`splice`** - **用途**:用于添加或删除数组中的元素。 - **语法**:`array.splice(start, deleteCount, item1, item2, ...)` - **参数**: - `start`:开始索引。 - `deleteCount`:要删除的元素数量。 - `item1, item2, ...`:要添加的新元素。 - **返回值**:一个包含被删除元素的新数组。 - **示例**: ```javascript let arr = [1, 2, 3, 4, 5]; let removed = arr.splice(2, 2, "a", "b"); console.log(arr); // [1, 2, "a", "b", 5] console.log(removed); // [3, 4] ``` 总结: - `split`用于字符串分割,返回数组。 - `slice`用于提取字符串或数组的一部分,返回新的字符串或数组。 - `splice`用于添加或删除数组元素,返回被删除的元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值