我想遍歷一個變數陣列,然后 push / console.log 每個變數的名稱。
這段代碼沒有像我想象的那樣作業。
let firstOne = true;
let secondOne = true;
let thirdOne = false;
let errorArray = [firstOne, secondOne, thirdOne];
errorArray.forEach((element) => {
if (element == true) {
console.log((Object.keys({ element })[0]));
}
});
我期待在 console.log 中看到 firstOne, secondOne 但相反,它只是“元素”。
uj5u.com熱心網友回復:
陣列沒有鍵。他們使用數字索引。要獲取密鑰,您需要使用一個物件。要迭代物件,請使用 將其轉換為[key, value]成對陣列Object.entries()。當您迭代對陣列時,使用解構來獲取element和key。
let firstOne = true;
let secondOne = true;
let thirdOne = false;
let errorArray = Object.entries({ firstOne, secondOne, thirdOne });
errorArray.forEach(([key, element]) => {
if (element) {
console.log(key);
}
});
uj5u.com熱心網友回復:
這與另一個答案非常相似,但語法略有不同,但概念仍然是將物件轉換為陣列并作為鍵/值對對其進行迭代。
let firstOne = true;
let secondOne = true;
let thirdOne = false;
let errorObjs = {
firstOne,
secondOne,
thirdOne
};
for (const [key, value] of Object.entries(errorObjs)) {
if (value) {
console.log(`${key}: ${value}`);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/315768.html
標籤:javascript 数组 目的
