编程语言
首页 > 编程语言> > 什么是JavaScript Slice?实际示例和指南

什么是JavaScript Slice?实际示例和指南

作者:互联网

从基础知识开始,将 JavaScript 数组想象成书架上的一堆书。JavaScript 切片方法允许您从书架上取出一本或多本书,而无需重新排列其余的书籍。

它需要两个参数,一个开始索引和一个结束索引,它们确定数组的哪一部分将在新数组中返回。

这两个索引都是完全可选的,因此如果将它们留空,它们将默认为 0(第一个元素)和长度(最后一个元素)。

通过使用这种强大的方法,您可以轻松检索数组或字符串的一部分,从现有字符串和数组创建子字符串和数组,甚至可以从给定数组中删除元素而不会改变它。

举个例子,假设我们有一个名为 包含分解成单个单词的句子的数组:sentenceArray

const sentenceArray = ['The', 'slice', 'method', 'is', 'super', 'useful']

使用只有一个参数的 JavaScript slice 方法----我们可以创建一个包含从索引 2 开始的所有元素的新数组: 很整洁,是吧?sentenceArray.slice(2)result = ['method', 'is', 'super', 'useful'].

请继续关注更多实际示例!

JavaScript 切片方法的语法和参数

JavaScript 方法用于选择数组的一部分。它从原始数组中复制选定的元素,并将它们作为新数组返回。slice()

这样可以轻松地仅提取所需的数据,而无需遍历整个数组并手动选择元素。

使用此方法的语法如下所示:

array.slice(start, end)

其中 是指定从何处开始切片的索引(默认值为 0),是结束切片的索引(默认为数组长度)。startend

您也可以省略任一参数之一,在这种情况下,或将如上所述默认。startend

例如,假设您有一系列宠物,并且只想从中选择狗。使用 JavaScript 方法,你可以写这样的东西:slice()

const pets = ["dog", "cat", "hamster", "gerbil", "parakeet"];
const dogs = pets.slice(0, 1); // returns ["dog"]

 

以这种方式使用 JS,您可以快速轻松地组织数据,无论您需要它!slice()

Javascript slice 方法的 3 个实际用例

在你理解JS切片方法之前,你的JavaScript之旅还没有完成。这是一个强大的工具,可以做很多令人惊奇的事情,所以让我们跳到JS切片方法的三个实际用例中。

从数组中提取子数组

const arr = [1, 2, 3, 4, 5];
const subArr = arr.slice(2, 4); // [3, 4]

 

在这个例子中,JS方法用于提取从索引2开始到索引4(异地)结束的arr子数组,它给了我们值[3,4]。slice()

从数组中删除元素

const arr = [1, 2, 3, 4, 5];
const newArr = arr.slice(0, 2).concat(arr.slice(3)); // [1, 2, 4, 5]

 

在此示例中,JS 方法用于从 中删除索引 2 处的元素。slice()arr

我们首先提取一个子数组,其中包含我们要删除的元素(即),并在要删除的子数组(即)之后提取另一个包含元素的子数组。arr[1, 2][4, 5]

然后,我们使用该方法连接这两个子数组以获取新数组。concat()[1, 2, 4, 5]

从字符串中提取子字符串

const str = "Hello, world!";
const subStr = str.slice(0, 5); // "Hello"

 

在这个例子中,JS方法用于提取从索引0开始到索引5结束(异地)的子字符串,这给了我们字符串。slice()str"Hello"

和子字符串方法之间的区别slice()splice()

你有没有想过JS和子字符串方法之间有什么区别?如果是这样,您并不孤单。slice()splice()

让我们快速比较一下这三种方法,以帮助您了解它们的不同之处。

JavaScript 方法将数组的一部分从起始索引提取到结束索引,但不更改现有数组,同时通过添加/删除元素来更改原始数组,并从字符串中提取字符,而不会更改原始字符串。slice()splice()substring()

切片():此方法接受两个参数;startIndex 和 endIndex。它返回数组的浅表副本,该副本从 startIndex 开始,在 endIndex 之前结束。

它复制到但不包括 endIndex。如果未定义 startIndex,则此方法将从头到尾复制所有元素索引;如果未提供参数,则它将返回整个数组的浅拷贝。

拼接():此方法接受两个参数;startIndex 和 deleteCount(可选)。它从数组中删除元素,从 startIndex 到 deleteCount 项目。它返回一个包含已删除元素的数组,如果未删除任何元素,则返回一个空数组。此方法通过添加/删除指定元素来更改原始数组,因为它会改变它。

子字符串():此方法接受两个参数;startIndex(可选)和endIndex(可选)。它返回字符串中的字符,从 startIndex 开始,直到 endIndex 之前,而不更改或更改原始字符串。如果未提供参数,则此方法返回整个字符串的副本。

方法的最佳实践slice()

JavaScript slice() 方法是用于操作数组的强大工具,但如果您想充分利用它,您应该了解一些最佳实践。

让我们来看看几个:

这是因为如果您稍后更改数组的大小,如果您使用负数,它可能会丢弃您的代码。

假设您要删除索引二上的元素,并通过从索引号中减去一个来更新数组中的所有其他元素;使用与 结合使用的语句。ifsplice()

这将使您能够更好地控制数组中每个元素发生的情况。

如果数据存储为字符串而不是数组,请在使用 之前将其转换为数组。slice()

这将使浏览器更容易、更快速地处理数据,并在对字符串执行切片时为您提供更精确的结果。

标签:JavaScript Slice,编码
来源: