paint-brush
如何使用 Javascript 切片方法经过@iggy
4,683 讀數
4,683 讀數

如何使用 Javascript 切片方法

经过 Ignatius Sani4m2022/12/12
Read on Terminal Reader
Read this story w/o Javascript

太長; 讀書

Javascript slice 函数是一种内置的数组或字符串方法,它将数组的一部分的浅表副本返回到新的数组对象中。本教程将教您如何使用 Javascript 切片技术以及如何利用其不变的潜力。不会对初始数组进行任何修改。 Javascript 切片方法不会改变或更改原始数据。该方法可用于以下领域;但是,需要注意的是,slice 方法也可以用于非数组。
featured image - 如何使用 Javascript 切片方法
Ignatius Sani HackerNoon profile picture

Javascript slice() 方法不会更改或更改原始数据。本教程将教您如何使用 Javascript 切片技术以及如何利用其不变的潜力。


什么是javascript切片方法?

简单地说,javascript slice 函数是一个内置的数组或字符串方法,它将数组的一部分的浅拷贝返回到一个新的数组对象中,其中“开始”和“结束”是数组的索引。不会对初始数组进行任何修改。


 const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(2)); // ['ruby', 'rust', 'python']


我们使用零索引基在索引 2 处进行切片,这会产生一个包含切片元素的全新数组。但是如果我们检查原始数组(语言)呢?会改吗? javascript 切片技术与 javascript 拼接函数不同,不会改变或影响原始数据。


如何使用 Javascript 切片方法

Javascript 切片方法使用起来相当简单;但是为了完全理解它,我们会强调它的语法。

这个的语法是什么?这种语法是通过简单地用括号“()”包围单词“slice”来编写的,如下所示:


 slice()


因为这是一个方法,所以它接受参数,这使您可以更灵活地使用 slice 函数对数组执行的操作。


它们如下:

  1. 开始
  2. 结尾


可以将 start 参数简单地指示 slice 方法应该开始的索引,并将其传递给 slice 函数。回顾前面的例子,slice 方法接受 2 作为输入,简单来说就是从索引 2 开始。如果没有指定 start 参数,索引将被设置为 0。end 参数也可以发送到 slice方法,但它依赖于 start 参数才能正常运行。结束参数指示数组应该在哪个索引处完成提取元素。它通过不包括结束,但只包括结束来做到这一点。如果未指定结束参数,则返回完整的数组长度。


 slice(start) slice(start,end)


使用 slice 方法:假设我们有一个包含多种编程语言的数组,我们想从数组中选择三个元素。我们只需编写 slice(1,4) 函数,提供两个基于索引的参数,开始和结束。提取将从指定的索引 1 开始,并以 4 结束,但它不会返回精确的第四个元素,而是提供第四个元素之前的元素。


这是它是如何完成的:

 const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(1,4)); // ['ruby', 'rust', 'python']


返回新数组而不修改现有数组。

 const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(1,4)); // ['java', 'ruby', 'rust'] console.log(language); // ['javascript', 'java', 'ruby', 'rust', 'python']


在非数组上使用 slice 方法

javascript数组可用于以下领域;但是,需要注意的是,slice 方法也可以用于非数组。


  1. 在对象上使用 Javascript slice 方法。

  2. 在稀疏数组上使用 Javascript 切片方法。

  3. 使用 Javascript 切片方法将非数组转换为数组。

    在对象上使用 Javascript slice 方法

    javascript slice 方法通过首先考虑对象属性的长度,然后从头到尾读取整数键属性来处理对象。并将它们放在一个新数组中。它使用 call() 方法。


     const arrayLike = { length: 3, 0: 2, 1: 3, 2: 4, }; console.log(Array.prototype.slice.call(arrayLike, 1, 3)); // [3, 4]

    在稀疏数组上使用 Javascript 切片方法

    当 javascript slice 方法用于稀疏数组时,如果源是稀疏的,从slice()返回的数组可能是稀疏的。


     console.log([1, 2, , 4, 5].slice(1, 4)) // [2, empty, 4]

    使用Javascript slice 方法将非数组转换为数组

    要构建将类数组对象转换为数组的实用程序函数,请使用 Javascript slice 方法以及call()bind()方法。


 const sliceEl = Function.prototype.call.bind(Array.prototype.slice); function list() {  return sliceEl(arguments); } const listed = list(1, 2, 3) console.log(listed) //[1, 2, 3]

常见问题

Javascript 中的 slice 和 splice 方法有什么区别?

Slice 用于从原始数组创建新数组,而 splice 用于从原始数组中添加/删除元素。在切片的情况下,更改不会反映在原始数组中;但是,在拼接的情况下,更改会反映在原始数组中。

slice 和 splice 方法有什么相似之处?

它们之间的主要相似之处在于它们都是 javascript 数组的方法。

什么时候使用 slice 方法?

如果您不希望在执行任务时修改或改变原始数据,切片方法是最好的方法。这是 ReactJs 中的典型方法。

外卖

最后,javascript slice() 方法是一种复制方式。它不会更改原始数组,而是提供一个浅表副本,其中包含一些与原始数组相同的项目。它们接受两个可选参数,“开始”和“结束”,并根据这些参数从数组中提取元素。它们适用于非数组。对象、稀疏数组等。