首页 > web前端 > js教程 > 正文

日 - Mozilla 的 avaScript 基础专业认证

WBOY
发布: 2024-08-29 13:02:09
原创
812 人浏览过

Day - avaScript Foundations Professional Certification by Mozilla

概念亮点:

  1. 使用 for...offor...in 循环
  2. Set()ArrayMap()Objects 以及 Set() 和 Map()
1. 使用 for...of 和 for...in 循环

循环是编程中的一个基本概念,允许多次执行一段代码。在 JavaScript 中,for...of 和 for...in 是两个常用的循环,但它们有不同的用途。了解这些差异可以帮助您编写更高效、更有效的代码。

1.1 for...of 循环

for...of 循环用于迭代可迭代对象,例如数组、字符串、映射和集合。它提供了一种访问序列中每个值的直接方法,而无需担心索引。

例如)


雷雷

在这个例子中,for...of直接访问teams数组中的每个元素(team)并将其记录到控制台。当您只需要值而不需要索引时,此循环是理想的选择。

1-2. for...in 循环

另一方面,for...in 循环用于迭代对象的属性(键)。它通常与对象一起使用,但也可以与数组一起使用来访问索引。

例如)


雷雷

在此示例中,for...in 迭代 Mariners 对象的键,允许访问键和相应的值。需要注意的是,对于数组,应谨慎使用 for...in,因为它会迭代所有可枚举属性,而不仅仅是数字索引。

1-3.主要差异

    目的:
    • for...of:迭代可迭代对象(数组、字符串、集合、映射)的值。
    • for...in:迭代对象的可枚举属性(键)。
  • 用例:
    • 当您需要直接访问值时使用 for...of。
    • 当您需要访问键或属性名称时,请使用 for...in。
2. Set() 与数组、Map() 与对象、Set() 与 `Map() 的区别

JavaScript 提供了多种数据结构,每种数据结构都有其优点和缺点。我探索了一些最常用的之间的差异:

2-1. Set() 与数组

    独特性:
    • Set() 存储唯一值,这意味着不允许重复。
    • 数组允许重复值。
  • 订单:
    • Set() 迭代插入顺序。
    • 数组还维护插入顺序,但重复项会改变您与其交互的方式。
例如)

`

let mySet = new Set([1, 2, 3, 3, 4]);

让 myArray = [1, 2, 3, 3, 4];

console.log(mySet) // 输出:Set { 1, 2, 3, 4 }

console.log(myArray) // 输出:[1, 2, 3, 3, 4]

`

在此示例中,Set() 自动删除重复项

3,而 Array 保留它。当您需要唯一项目的集合时,Set() 非常有用。

2-2. Map() 与 Object

  • 关键类型:

      Map():键可以是任何类型,包括对象、函数和原始类型。
    • 对象:键通常是字符串或符号。
  • 订单:

    • Map() 维护插入顺序。
    • 对象不保证键的顺序。
  • 尺寸:

    • Map() 有一个 size 属性,它给出键值对的数量。
    • 对象需要通过迭代键来手动确定大小。
例如)

`

让 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() 可以轻松提供地图的大小,而对于对象,您需要手动计算键的数量。

2-3. Set() 与 Map()

  • 目的:
    • Set() 是唯一值的集合。
    • Map() 是键值对的集合。
  • 用例:
    • 当您需要存储唯一项目的列表时,请使用 Set()。
    • 当您需要将值与键关联时,请使用 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() 用于检索与键关联的值。

以上是日 - Mozilla 的 avaScript 基础专业认证的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!