详谈js遍历集合(Array,Map,Set)

yizhihongxing

我来为你讲解如何用JavaScript遍历集合。

集合的遍历

在遍历集合之前,首先需要了解集合类型的基本特性。

JavaScript中常见的集合类型有Array、Map和Set。其中:

  • Array是一种有序、可重复的数据集合,它可以通过下标或迭代器来访问其中的元素。
  • Map是一种关联数组,它保存了键值对,并且键可以是任意类型的数据,而值可以是任意类型的数据。
  • Set是一种无序、不重复的数据集合,它只能保存唯一的值。

在遍历集合时,我们通常需要使用迭代器(iterator)或者for...of语句。下面我们来详细讲解这两种方法。

使用迭代器遍历集合

在ES6中,可以使用迭代器遍历Array、Map和Set。

  • 遍历Array

对于Array,我们可以使用for...of循环遍历其中的元素。下面是一个例子:

const arr = [1, 2, 3];
for (const value of arr) {
console.log(value);
}

输出结果为:

1
2
3

我们还可以使用迭代器对象手动遍历Array:

const arr = [1, 2, 3];
const iterator = arr[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
console.log(result.value);
result = iterator.next();
}

输出结果与前面的例子相同。

  • 遍历Map

对于Map,我们可以使用其entries()方法返回一个迭代器,用于遍历其中的键值对。下面是一个例子:

const map = new Map([
['foo', 1],
['bar', 2],
['baz', 3]
]);
for (const [key, value] of map.entries()) {
console.log(`${key}: ${value}`);
}

输出结果为:

foo: 1
bar: 2
baz: 3

我们还可以通过手动获取迭代器对象的方式来遍历Map:

const map = new Map([
['foo', 1],
['bar', 2],
['baz', 3]
]);
const iterator = map.entries();
let result = iterator.next();
while (!result.done) {
console.log(`${result.value[0]}: ${result.value[1]}`);
result = iterator.next();
}

输出结果与前面的例子相同。

  • 遍历Set

对于Set,我们可以使用其values()方法返回一个迭代器,用于遍历其中的元素。下面是一个例子:

const set = new Set([1, 2, 3]);
for (const value of set.values()) {
console.log(value);
}

输出结果为:

1
2
3

我们还可以通过手动获取迭代器对象的方式来遍历Set:

const set = new Set([1, 2, 3]);
const iterator = set.values();
let result = iterator.next();
while (!result.done) {
console.log(result.value);
result = iterator.next();
}

输出结果与前面的例子相同。

使用for...of语句遍历集合

除了使用迭代器遍历集合,我们还可以使用for...of语句遍历集合。

  • 遍历Array

对于Array,我们可以使用for...of语句遍历其中的元素。下面是一个例子:

const arr = [1, 2, 3];
for (const value of arr) {
console.log(value);
}

输出结果与前面使用迭代器遍历Array的例子相同。

  • 遍历Map

对于Map,我们可以使用其entries()方法返回一个可迭代对象,用于遍历其中的键值对。下面是一个例子:

const map = new Map([
['foo', 1],
['bar', 2],
['baz', 3]
]);
for (const [key, value] of map.entries()) {
console.log(`${key}: ${value}`);
}

输出结果与前面使用迭代器遍历Map的例子相同。

  • 遍历Set

对于Set,我们可以使用其values()方法返回一个可迭代对象,用于遍历其中的元素。下面是一个例子:

const set = new Set([1, 2, 3]);
for (const value of set.values()) {
console.log(value);
}

输出结果与前面使用迭代器遍历Set的例子相同。

总结

在JavaScript中,遍历集合可以使用迭代器和for...of语句。对于Array、Map和Set,我们都可以通过这两种方式快速地遍历其中的元素。在使用时,我们可以根据具体的需求选择适合的方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详谈js遍历集合(Array,Map,Set) - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Javascript Array length 方法

    以下是关于JavaScript Array length方法的完整攻略。 JavaScript Array length方法 JavaScript Array length方法用于获取或设置数组的长度。该方法返回数组中元素的数量,或者设置数组的长度。如果设置的长度小于当前数组的长度,则数组将被截断。如果设置的长度大于当前数组的长度,则数组将被扩展,并且新的元…

    JavaScript 2023年5月11日
    00
  • 整理JavaScript对DOM中各种类型的元素的常用操作

    整理JavaScript对DOM中各种类型的元素的常用操作攻略 DOM是文档对象模型(Document Object Model)的缩写,JavaScript通过DOM对HTML页面中的各种元素进行操作,从而实现动态网页效果。在DOM中,各种类型的元素均可以通过JavaScript进行操作。下面,我们将详细讲解如何使用JavaScript对DOM中各种类型的…

    JavaScript 2023年6月10日
    00
  • JavaScript实现秒杀时钟倒计时

    JavaScript实现秒杀时钟倒计时的攻略大致包含以下几个步骤: 获取当前时间和秒杀结束时间 计算倒计时的剩余时间 将剩余时间转换为时、分、秒的形式 将倒计时的时、分、秒填充到HTML中 每隔一秒更新倒计时 下面是完整的攻略: 步骤 1. 获取当前时间和秒杀结束时间 在 JavaScript 中,可以通过 new Date() 取得当前的日期和时间,包括年…

    JavaScript 2023年5月27日
    00
  • js实现宇宙星空背景效果的方法

    为了实现宇宙星空背景效果,我们可以使用Canvas和JavaScript来实现。下面是步骤: 步骤1:HTML布局 <!DOCTYPE html> <html> <head> <title>宇宙星空背景</title> </head> <body> <canvas id…

    JavaScript 2023年6月11日
    00
  • JavaScript中扩展Array contains方法实例

    下面是完整的攻略及示例。 扩展JavaScript中Array contains方法 在JavaScript中,Array原型对象已经提供了很多有用的方法,如push()、pop()、shift()、unshift()等。但是,有些时候我们可能需要自定义一些方法来满足特定的需求,而扩展contains()方法就是其中一个例子。 JavaScript中的Arr…

    JavaScript 2023年5月27日
    00
  • Jil,高效的json序列化和反序列化库

    Jil是一个高效的Json序列化和反序列化库,完全基于C#实现。它被设计为尽可能快地进行序列化、反序列化操作,同时也是安全和灵活的。 安装 你可以从NuGet库中安装Jil:通过Package Manager控制台输入命令”Install-Package Jil”或者在Visual Studio中选择“项目” -> “管理NuGet软件包”,在搜索框中…

    JavaScript 2023年5月27日
    00
  • javascript知识点收藏

    JavaScript知识点收藏攻略 概述 本文将介绍JavaScript自学中需要重点掌握的知识点,并提供收藏的资源、工具和学习方法。 知识点 以下是自学JavaScript过程中需要重点掌握的知识点:- 变量、数据类型与运算符- 流程控制语句(if/else、switch/case、循环)- 函数与对象的概念、创建与使用- 常见数据结构(如数组、栈、队列、…

    JavaScript 2023年5月18日
    00
  • Javascript基础知识(三)BOM,DOM总结

    Javascript基础知识(三)BOM,DOM总结 BOM(浏览器对象模型) 浏览器对象模型(BOM)提供了一组与浏览器窗口有关的对象,有助于操作浏览器窗口和屏幕显示。BOM是由浏览器厂商自行定义的,因此不属于W3C标准。 BOM的核心对象是window对象,表示浏览器窗口和页面。window对象还可以通过自身属性和方法来操作浏览器窗口、页面、框架、历史记…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部