如何在 JavaScript 中呼叫物件的鍵,但將其作為方法而不是字串返回?
我們可以使用 "Object.keys()" 方法來檢索物件的鍵。但是,與其將鍵作為字串返回,我們可以將對 "Object.keys()" 的呼叫包裝在一個函式中。這樣,當我們呼叫該函式時,它將返回鍵作為方法,而不是字串。
方法一
您可以使用 Object.keys() 方法獲取物件鍵的陣列,然後使用陣列表示法或 [] 運算子訪問物件的鍵作為屬性。
這是一個示例:
let obj = { key1: "value1", key2: "value2" };
let keys = Object.keys(obj);
let firstKey = keys[0];
console.log(obj[firstKey]); // "value1"
方法二
如果您想將鍵用作方法,可以使用 obj[firstKey]() 表示法來呼叫該方法,如下所示:
let obj = { key1: () => {console.log("key1 method")} };
let keys = Object.keys(obj);
let firstKey = keys[0];
obj[firstKey](); // "key1 method"
工作程式碼片段
這是一個關於如何將物件的鍵作為方法而不是字串呼叫的完整工作程式碼片段:
const obj = {
method1: () => { console.log("This is method 1.") },
method2: () => { console.log("This is method 2.") }
}
const key = "method1";
obj[key](); // Output: "This is method 1."
在這個例子中,我們首先建立一個名為 obj 的物件,它有兩個鍵 method1 和 method2,它們都被設定為將訊息記錄到控制檯的箭頭函式。接下來,我們建立一個名為 key 的變數,並將其設定為字串“method1”。
透過使用方括號表示法 (obj[key]),我們可以訪問物件中鍵的值,在本例中是一個函式。透過在行尾新增括號 (),我們正在呼叫該函式,這將執行其中的程式碼並將“This is method 1.” 記錄到控制檯。
我們也可以用包含鍵名的變數替換 key 變數,它將以相同的方式工作:
let method = "method1"; obj[method]();
當鍵名直到執行時才知道,而我們又想訪問物件中的值(在本例中是函式)並執行它時,這是一個有用的模式。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP