JavaScript中split、slice、splice函数区别

614 阅读2分钟

JavaScript中split、slice、splice函数区别

在 JavaScript 中,splitslicesplice 是三个常用的函数,但它们的功能和用途完全不同。以下是它们的详细对比:

1. split

(1) 功能

  • 字符串方法:将字符串按指定分隔符拆分为数组。
  • 返回值:一个新的数组,包含拆分后的子字符串。

(2) 语法

str.split(separator, limit)
  • separator:分隔符(可以是字符串或正则表达式)。
  • limit(可选):限制返回数组的最大长度。

(3) 示例

const str = 'apple,banana,orange';
const arr = str.split(','); // 按逗号拆分
console.log(arr); // 输出:['apple', 'banana', 'orange']

(4) 特点

  • 仅适用于字符串。
  • 不改变原字符串。

2. slice

(1) 功能

  • 数组和字符串方法:提取数组或字符串的一部分。
  • 返回值:一个新的数组或字符串,包含提取的元素或字符。

(2) 语法

array.slice(start, end)
str.slice(start, end)
  • start:起始索引(包含)。
  • end(可选):结束索引(不包含)。

(3) 示例

// 数组
const arr = [1, 2, 3, 4, 5];
const slicedArr = arr.slice(1, 3); // 提取索引 1 到 2
console.log(slicedArr); // 输出:[2, 3]

// 字符串
const str = 'Hello, World!';
const slicedStr = str.slice(0, 5); // 提取前 5 个字符
console.log(slicedStr); // 输出:Hello

(4) 特点

  • 适用于数组和字符串。
  • 不改变原数组或字符串。

3. splice

(1) 功能

  • 数组方法:删除、替换或插入数组元素。
  • 返回值:被删除的元素组成的数组。

(2) 语法

array.splice(start, deleteCount, item1, item2, ...)
  • start:起始索引。
  • deleteCount:要删除的元素个数。
  • item1, item2, ...(可选):要插入的元素。

(3) 示例

const arr = [1, 2, 3, 4, 5];
const removed = arr.splice(1, 2, 'a', 'b'); // 从索引 1 开始删除 2 个元素,并插入 'a' 和 'b'
console.log(arr); // 输出:[1, 'a', 'b', 4, 5]
console.log(removed); // 输出:[2, 3]

(4) 特点

  • 仅适用于数组。
  • 改变原数组。

4. 总结对比

函数适用对象功能返回值是否改变原对象
split字符串按分隔符拆分为数组新数组
slice数组、字符串提取部分元素或字符新数组或字符串
splice数组删除、替换或插入元素被删除的元素组成的数组

5. 使用场景

  • split:将字符串按特定规则拆分为数组,如解析 CSV 数据。
  • slice:提取数组或字符串的一部分,如分页功能。
  • splice:修改数组内容,如删除或插入元素。

根据需求选择合适的函数,可以更高效地处理数据。

更多vue相关插件及后台管理模板可访问vue admin reference,代码详情请访问github