概念亮點:
循環是程式設計中的基本概念,允許多次執行程式碼區塊。在 JavaScript 中,for...of 和 for...in 是兩個常用的循環,但它們有不同的用途。了解這些差異可以幫助您編寫更有效率、更有效的程式碼。
for...of 循環用於迭代可迭代對象,例如數組、字串、映射和集合。它提供了一種存取序列中每個值的直接方法,而無需擔心索引。
例如。 )
let teams = ['Red Sox', 'Dodgers', 'Padres']; for (let team of teams) { console.log(team); } // Output: // Read Sox // Dodgers // Padres
在這個例子中,for...of直接存取teams數組中的每個元素(team)並將其記錄到控制台。當您只需要值而不需要索引時,此循環是理想的選擇。
另一方面,for...in 循環用於迭代物件的屬性(鍵)。它通常與物件一起使用,但也可以與陣列一起使用來存取索引。
例如。 )
let Mariners = {place: 'Seattle', league: 'American', color: 'navy blue'}; for (let key in Mariners) { console.log(`${key}: ${Mariners[key]}`); } // Output: // place: Seattle // league: American // color: navy blue
在此範例中,for...in 迭代 Mariners 物件的鍵,允許存取鍵和對應的值。需要注意的是,對於數組,應謹慎使用 for...in,因為它會迭代所有可枚舉屬性,而不僅僅是數字索引。
JavaScript 提供了多種資料結構,每種資料結構都有其優點和缺點。我探討了一些最常用的之間的差異:
例如)
`
let mySet = new Set([1, 2, 3, 3, 4]);
令 myArray = [1, 2, 3, 3, 4];
console.log(mySet) // 輸出:設定 { 1, 2, 3, 4 }
console.log(myArray) // 輸出:[1, 2, 3, 3, 4]
`
在此範例中,Set() 自動刪除重複項 3,而 Array 保留它。當您需要唯一項目的集合時,Set() 非常有用。
按鍵型:
命令:
尺寸:
例如。 )
`
讓 myMap = new Map();
myMap.set('姓名', '約翰');
myMap.set(42, '答案');
myMap.set({}, '空物件');
令 myObject = {
名稱:“約翰”,
42:“答案”,
{}: '空物件'
};
console.log(myMap.size); // 輸出:3
console.log(Object.keys(myObject).length); // 輸出:2(由於金鑰字串轉換)
`
在此範例中,Map() 允許使用各種鍵類型,而物件鍵將轉換為字串。此外,Map() 可以輕鬆提供地圖的大小,而對於對象,您需要手動計算鍵的數量。
例如。 )
`
令 mySet = new Set([1, 2 ,3]);
令 myMap = new Map([['key1', 'value1'], ['key2', 'value2']]);
console.log(mySet.has(2)); // 輸出:true
console.log(myMap.get('key1')); // 輸出:'值'1
`
在此範例中,Set() 用於檢查值是否存在,而 Map() 用於檢索與鍵關聯的值。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3