概念亮点:
循环是编程中的基本概念,允许多次执行代码块。在 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