將陣列傳遞給 JavaScript 中的函式

Mehvish Ashiq 2023年1月30日 2022年5月10日
  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 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