30、JavaScript 集合、映射与类型化数组全解析

JavaScript 集合、映射与类型化数组全解析

1. JavaScript 集合(Set)的特性

JavaScript 的集合(Set)有一个特性可能会让 Python 程序员感到惊讶,即它具有可预测的迭代顺序。集合会记住元素插入的顺序,并且在迭代集合时会按照这个顺序进行:第一个插入的元素将是第一个被迭代的元素(前提是你没有先删除它),最后插入的元素将是最后一个被迭代的元素。

除了可迭代之外,Set 类还实现了一个 forEach() 方法,该方法与数组的同名方法类似:

let product = 1;
oneDigitPrimes.forEach(n => { product *= n; });
product     // => 210: 2 * 3 * 5 * 7

数组的 forEach() 方法会将数组索引作为第二个参数传递给指定的函数。而集合没有索引,因此 Set 类的这个方法会将元素值同时作为第一个和第二个参数传递。

2. JavaScript 映射(Map)类

Map 对象表示一组被称为键的值,每个键都与另一个值相关联(或“映射到”)。从某种意义上说,映射就像一个数组,但它不是使用一组连续的整数作为键,而是允许我们使用任意值作为“索引”。与数组一样,映射的查找速度很快:无论映射有多大,查找与键关联的值都很快(尽管不如数组索引快)。

可以使用 Map() 构造函数创建一个新的映射:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值