将数组传递给 JavaScript 中的函数

Mehvish Ashiq 2023年10月12日
  1. 使用 apply() 方法将数组传递给 JavaScript 中的函数
  2. 使用 spread 运算符将数组传递给 JavaScript 中的函数
  3. 使用 arguments 对象将数组传递给 JavaScript 中的函数
将数组传递给 JavaScript 中的函数

本教程旨在教你使用 JavaScript 将数组传递给函数的不同方法。它突出了 apply() 方法、spread 运算符、arguments 对象以及将整个数组作为参数传递给函数的方法。

apply() 方法执行具有 this 值的函数,并将参数作为数组或类似数组的对象提供。它用于必须传递的特定函数。

apply() 方法中,this 值是调用函数的第一个参数,而 arguments 是要传递的参数数组的第二个参数。

请记住,如果 this 值不能是函数看到的原始值(如果该方法是非严格模式代码中的函数)。全局对象将是 nullundefined,而原始值将被装箱。

ECMAScript 6 (ES6) 提供了一个名为 spread 的惊人运算符。它在 JavaScript 代码中写为 ...。该运算符允许迭代,例如数组。它用于处理所有数组元素或对象。

另一方面,arguments 对象是一个类数组(意味着 arguments 具有 length 属性)对象,我们可以在具有参数值的函数中使用它。

使用 apply() 方法将数组传递给 JavaScript 中的函数

var names = ['Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName() {
  for (var i = 0; i < names.length; i++) {
    console.log(names[i]);
  }
}

输出:

"Mehvish"
"John"
"Henry"
"Thomas"

在上面给出的示例中,我们有一个 names 数组和一个名为 displayName() 的函数,用于打印 names 数组的所有元素。我们使用 apply() 方法将数组传递给 displayName() 函数。

使用 spread 运算符将数组传递给 JavaScript 中的函数

var names = ['Mehvish', 'John', 'Henry', 'Thomas'];
displayName(...names);

function displayName() {
  for (var i = 0; i < names.length; i++) {
    console.log(names[i]);
  }
}

输出:

"Mehvish"
"John"
"Henry"
"Thomas"

在这里,我们再次使用 names 数组和 displayNames() 函数来打印所有数组元素。我们使用 spread 语法 ... 将整个数组传递给函数。

使用 arguments 对象将数组传递给 JavaScript 中的函数

var names = ['Mehvish', 'John', 'Henry', 'Thomas'];
displayName(names);

function displayName() {
  for (var i = 0; i < arguments.length; i++) {
    console.log(arguments[i]);
  }
}

输出:

["Mehvish", "John", "Henry", "Thomas"]

在上面给出的代码片段中,我们使用 arguments 对象将 names 数组传递给 displayName() 函数。我们可以将整个数组作为参数传递给函数以简化代码。

为此,你可以练习以下代码。

var names = ['Mehvish', 'John', 'Henry', 'Thomas'];
displayName(names);

function displayName() {
  for (var i = 0; i < names.length; i++) {
    console.log(names[i]);
  }
}

输出:

"Mehvish"
"John"
"Henry"
"Thomas"
作者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

相关文章 - JavaScript Array