js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。

简介: ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。

ES6的Map和Set是两种新的数据结构,它们与普通对象和数组有一些区别:

  1. Map是一种键值对集合,它的键可以是任意类型,而对象的键只能是字符串或符号。Map中的键值对是有序的,而对象的属性没有顺序。

  2. Set是一种值的集合,它的值是唯一的,不会有重复的值。数组中可以有重复的值,但Set不会保留这些重复值。

  3. Map和Set都是可迭代的,可以使用for...of循环遍历它们的元素。对象和数组也可以使用for...of循环遍历,但需要先获取对象的键或数组的索引。

  4. Map和Set的方法更加丰富,例如Map有get、set、has、delete等方法,Set有add、delete、has等方法。对象和数组也有相应的方法,但数量较少。

示例:

// Map
let map = new Map();
map.set('name', 'Tom');
map.set('age', 18);
console.log(map.get('name')); // 输出 "Tom"
console.log(map.has('age')); // 输出 true
map.delete('age');
console.log(map.size); // 输出 1

// Set
let set = new Set();
set.add('apple');
set.add('banana');
set.add('apple');
console.log(set.size); // 输出 2
console.log(set.has('banana')); // 输出 true
set.delete('banana');
console.log(set.size); // 输出 1
目录
相关文章
|
1天前
|
存储 JavaScript 前端开发
JavaScript Array(数组) 对象
JavaScript Array(数组) 对象
11 3
|
1天前
|
存储 JavaScript 前端开发
JavaScript 字符串(String) 对象
JavaScript 字符串(String) 对象
10 3
|
1天前
|
JavaScript 前端开发
JavaScript Date(日期) 对象
JavaScript Date(日期) 对象
9 2
|
3天前
|
JSON JavaScript 前端开发
js如何格式化一个JSON对象?
js如何格式化一个JSON对象?
10 3
|
5月前
|
JavaScript 前端开发
JS将两个数组和合并成数组包对象格式的方法
JS将两个数组和合并成数组包对象格式的方法
64 0
|
5月前
|
JavaScript 前端开发
js中数组对象去重的方法
js中数组对象去重的方法
|
5月前
|
存储 JavaScript 前端开发
【面试题】JS的14种去重方法,看看你知道多少(包含数组对象去重)
【面试题】JS的14种去重方法,看看你知道多少(包含数组对象去重)
|
5月前
|
前端开发 JavaScript
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
101 0
|
2月前
|
JavaScript 前端开发 索引
JS遍历数组里数组下的对象,根据数组中对象的某些值,组合成新的数组对象
这篇文章介绍了如何在JavaScript中遍历数组里数组下的对象,并根据对象的某些属性值组合成一个新的数组对象。主要内容包括使用ES6的`for...of`循环来遍历数组对象,然后根据需要提取对象中的属性值,并将它们放入新的对象中,最终形成一个新的对象数组以供使用。
|
2月前
|
JavaScript 前端开发
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
这篇文章介绍了JavaScript中的数组、Date对象、Math对象以及包装类(String、Number、Boolean),并详细讲解了数组的创建、方法(如forEach、push、pop、unshift、slice、splice)和遍历操作,以及工厂方法创建对象和原型对象的概念。
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
下一篇
无影云桌面