将数组传递给 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"