[英]Not able to iterate through my object using for of loop over an object
我正在嘗試遍歷 object 但出現錯誤
const myObj = { number1: 4, number2: 10 } for (const key of myObj) { console.log(`${key}: ${myObj[key]}`); }
而是得到一個控制台錯誤
你實際上犯了一個非常小的錯誤。 您正在創建一個 object 並使用for.. of ,但for..of用於迭代數組。 使用for..in代替它迭代 object 鍵。
這是您的工作演示:
const myObj = {
number1: 4,
number2: 10
}
for (const key in myObj) {
console.log(`${key}: ${myObj[key]}`);
}
for...in
語句遍歷 object 的所有可枚舉屬性,這些屬性以字符串為鍵(忽略以Symbol為鍵的),包括繼承的可枚舉屬性。
for...of
語句創建一個循環迭代可迭代對象,包括:內置String
、Array
、類數組對象(例如arguments
或NodeList
)、 TypedArray
、 Map
、 Set
和用戶定義的可迭代對象。 它調用一個自定義迭代鈎子,其中包含要為 object 的每個不同屬性的值執行的語句。
下面試試。
const myObj = { number1: 4, number2: 10 } for (const key in myObj) { console.log(`${key}: ${myObj[key]}`); }
您的錯誤是在循環中使用for... of
而不是for... in
。 要遍歷 object 我認為使用 Object 方法更好地處理您的數據:
Object.entries(myObj2).forEach(([key, value]) => console.log(key, value))
您還可以使用只為您提供鍵和值的鍵方法,該方法只為您提供值。
這是一個很好的變體,這很完美:
const myObj = {
number1: 4,
number2: 10,
};
Object.keys(myObj).forEach((key) => {
console.log(`${key}: ${myObj[key]}`);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.