什么是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),是结束切片的索引(默认为数组长度)。start
end
您也可以省略任一参数之一,在这种情况下,或将如上所述默认。start
end
例如,假设您有一系列宠物,并且只想从中选择狗。使用 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() 方法是用于操作数组的强大工具,但如果您想充分利用它,您应该了解一些最佳实践。
让我们来看看几个:
- 引用索引时使用正数 如果需要引用数组中的元素,最好使用正数而不是负数(从数组末尾开始)。
这是因为如果您稍后更改数组的大小,如果您使用负数,它可能会丢弃您的代码。
- 使用 If 语句修改数组中的数据 如果要修改数组中的数据,请使用 If 语句而不是 。
slice()
假设您要删除索引二上的元素,并通过从索引号中减去一个来更新数组中的所有其他元素;使用与 结合使用的语句。if
splice()
这将使您能够更好地控制数组中每个元素发生的情况。
- 在使用 之前将字符串转换为数组。
slice()
如果数据存储为字符串而不是数组,请在使用 之前将其转换为数组。slice()
这将使浏览器更容易、更快速地处理数据,并在对字符串执行切片时为您提供更精确的结果。
标签:JavaScript Slice,编码 来源: