JavaScript Array.prototype.slice.call如何工作

JavaScript Array.prototype.slice.call如何工作

Array.prototype.slice.call()

Array.prototype.slice.call()JavaScript中的一个方法,它用于将类数组或可迭代对象转换为真正的数组。它允许您提取数组或类数组对象的一部分并返回一个新数组。这种技术通常用于操作和处理非数组对象,将它们转换为可用的数组。

语法:

Array.prototype.slice.call( arrayLikeObject, startIndex, endIndex );

参数: 该方法接受三个参数,如上所述,并在下面进行描述:

  • arrayLikeObject:要转换为数组的对象。
  • startIndex(可选):此参数定义要提取部分的起始索引。
  • endIndex(可选):此参数是要提取部分的结束索引(不包括结束索引)。

Array.prototype.slice.call在JavaScript中的工作原理

  • 在此示例中,我们创建了一个名为’func’的函数,将字符串存储在’str’变量中。
  • 我们使用’Array.prototype.slice.call’函数,并将参数传递给它作为原始字符串的初始索引和最终索引,并将结果存储在’result’变量中。
  • 最后,在控制台中打印结果。

示例1:

Javascript

// Javascript program to illustrate 
// use of Array.prototype.slice.call() 
  
function func() { 
  
    // Original string 
    const str = "Hello,World"; 
      
    // Extrating 'hello' in the form array 
    const result =  
        Array.prototype.slice.call(str, 0, 5); 
    console.log(result); 
} 
func();

输出

[ 'H', 'e', 'l', 'l', 'o' ]

解释:

  • 在这个例子中,我们有一个需要处理的对象类型数组。
  • 我们使用Array.prototype.slice.call函数,并将数组、初始索引和最终索引作为参数传递,并将结果存储在’result’变量中。
  • 最后,我们在控制台中打印结果。

示例2:

Javascript

// Javascript program to illustrate 
// use of Array.prototype.slice.call() 
  
function func() { 
  
    // Object with integer as key 
    const arrayLike = {  
        0: 'Burger', 1: 'Pizza',  
        2: 'Chawmin', 3: 'Momos', length: 4 }; 
          
    // Extracted array 
    const extractedArray =  
        Array.prototype.slice.call(arrayLike, 1, 3); 
    console.log(extractedArray); 
} 
func();

输出

[ 'Pizza', 'Chawmin' ]

结论: 简而言之,当你在代码中有一些不完全是数组但表现得像数组的东西(比如网页元素的集合),你可以使用Array.prototype.slice.call()来使它们像真正的数组一样工作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程