我想訪問物件的鍵,但這些鍵也是物件。
const caio = new Person("Caio")
const rafael = new Person("Rafael")
const expense = {caio: 10, rafael: 0}
console.log(Object.keys(expense))
#result ['caio', 'rafael']
我想訪問物件 caio/rafael(個人物件)。可能嗎?
uj5u.com熱心網友回復:
JS 物件只能有string或symbol作為鍵,所以這是不可能的。
另一方面, aMap可以有object鍵,因此您可以使用一個:
const expenses = new Map();
expenses.set(caio, 10);
expenses.set(raphael, 0);
const personIterator = expenses.keys() // will return an iterator of the keys
Array.from(personIterator) // an array containing the keys
uj5u.com熱心網友回復:
沒有eval,我認為您不能以安全的方式動態地進行操作。但是你可以有一個使用速記初始化的“地圖”來做到這一點:
class Person { constructor(name) { this.name = name; } }
const caio = new Person("Caio")
const rafael = new Person("Rafael")
const pplmap = { caio, rafael };
const expense = {caio: 10, rafael: 0}
console.log(Object.keys(expense).map((p) => pplmap[p]));
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/520844.html
標籤:javascript目的
