將陣列傳遞給 JavaScript 中的函式
- 
          
            使用 apply()方法將陣列傳遞給 JavaScript 中的函式
- 
          
            使用 spread運算子將陣列傳遞給 JavaScript 中的函式
- 
          
            使用 arguments物件將陣列傳遞給 JavaScript 中的函式
 
本教程旨在教你使用 JavaScript 將陣列傳遞給函式的不同方法。它突出了 apply() 方法、spread 運算子、arguments 物件以及將整個陣列作為引數傳遞給函式的方法。
apply() 方法執行具有 this 值的函式,並將引數作為陣列或類似陣列的物件提供。它用於必須傳遞的特定函式。
在 apply() 方法中,this 值是呼叫函式的第一個引數,而 arguments 是要傳遞的引數陣列的第二個引數。
請記住,如果 this 值不能是函式看到的原始值(如果該方法是非嚴格模式程式碼中的函式)。全域性物件將是 null 和 undefined,而原始值將被裝箱。
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"
