在 JavaScript 中返回多個值

Anika Tabassum Era 2023年1月30日 2022年5月10日
  1. 在 JavaScript 中從帶有陣列的函式返回多個值
  2. 使用 JavaScript 中的物件從函式返回多個值
在 JavaScript 中返回多個值

通常,函式終止時有一個返回案例。返回的情況可以有一個值或沒有任何東西可以傳遞。

在 JavaScript 中,不支援函式返回多個值。因此,為了能夠打包多個值並通過函式傳遞它們,我們需要陣列和物件的幫助。

在這裡,我們將演示使用陣列來儲存多個函式值。稍後,我們還將瞭解如何使用物件來收集函式值。

此外,我們還將弄清楚如何使用 destructing assignment 和一般變數宣告來解包函式值。

在 JavaScript 中從帶有陣列的函式返回多個值

在本例中,getValue 函式有兩個變數,我們將它們作為陣列傳遞並返回。

新的變數 feature 宣告將以陣列的形式儲存函式返回。像任何其他陣列遍歷一樣,我們可以使用索引訪問值。

更簡單地說,這裡的 feature 是另一個陣列,它以陣列形式獲取從 getValues 函式返回的同步值。

程式碼片段:

function getValues(){
    var hair = 'Short',
        color = 'Black';
    return [hair, color];
  }
var feature = getValues();
var x = feature[0];
var y = feature[1];
console.log(x+" "+y+" Hair");

輸出:

return_multiple_values_with_array

使用 Destructing Assignment 解包陣列

一般來說,我們可以很容易地宣告變數或物件來儲存陣列元素。但是對於大資料,每次都定義 var 是很乏味的。

你還可以迴圈訪問陣列以訪問值。除此之外,ES6 還增加了解包陣列元素的功能,如下例所示。

程式碼片段:

function getValues(){
    var hair = 'Short',
        color = 'Black';
    return [hair, color];
  } 
var [x, y] = getValues();
console.log(x+" "+y+" Hair");

輸出:

array_destruct

使用 JavaScript 中的物件從函式返回多個值

你可以輕鬆地使用鍵值對來使用物件構建資料。對於這個示例驅動器,我們將再次初始化函式 getValues,這次返回案例將採用物件格式。

程式碼片段:

function getValues(){
    var hair = 'Long',
        color = 'Brown';
    return {
        hair,
        color
    };
  }
var feature = getValues();
var x = feature.hair;
var y = feature.color;
console.log(x+" "+y+" Hair");

輸出:

物件返回

這裡的程式碼塊有一個作為物件工作的變數 feature。稍後與 dot(.) 方法一起,我們呼叫 keys 來訪問值。

這個 map 需要明確的鍵名,因此相應的值得到了發言權。

使用 Destructing Assignment 解包物件

通過宣告 ES6 約定:destructing assignment,可以解壓縮從函式傳遞的物件。

在這裡,我們將顯式宣告 keys,但宣告將直接從函式訪問值對。讓我們檢查一下程式碼塊。

程式碼片段:

function getValues(){
    var hair = 'Long',
        color = 'Brown';
    return {
        hair,
        color
    };
  }
var {hair, color} = getValues();
console.log(hair+" "+color+" Hair");

輸出:

object_destruct

正如你所看到的,我們剛剛從函式中傳遞了 keys,當用鍵名解壓它們時,輸出也顯示了相應的值。

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn GitHub Facebook

相關文章 - JavaScript Return

相關文章 - JavaScript Function