前端祖传三件套JavaScript的ES6+之Set/Map

简介: 在现代前端开发中,JavaScript已经成为了不可或缺的语言。作为前端祖传三件套之一,它一直都在不断发展和进化。其中,ES6+是最受欢迎的版本之一,因为它引入了许多新功能和特性,能够更加方便有效地编写代码。本文将介绍其中之一的Set/Map。


  1. Set

Set是ES6+中的一个新类型,它类似于数组,但是可以确保没有重复的值。可以用来存储任意类型的数据,包括原始类型和对象。使用Set可以帮助我们更加方便地进行去重操作。

  • 创建Set
    在ES6+中,我们可以使用new关键字来创建一个Set。例如:
const set = new Set();
  • 这里创建了一个空的Set。
  • 添加元素
    在ES6+中,我们可以使用add方法向Set中添加元素。例如:
const set = new Set();
set.add(1);
set.add('Hello');
set.add({ name: 'Alice', age: 20 });
console.log(set); // Set { 1, 'Hello', { name: 'Alice', age: 20 } }
  • 这里向Set中添加了整数1、字符串'Hello'和一个对象{ name: 'Alice', age: 20 }。
  • 删除元素
    在ES6+中,我们可以使用delete方法从Set中删除元素。例如:
const set = new Set([1, 2, 3]);
set.delete(1);
console.log(set); // Set { 2, 3 }
  • 这里从Set中删除了整数1。
  • 判断元素是否存在
    在ES6+中,我们可以使用has方法来判断Set中是否存在某个元素。例如:
const set = new Set(['apple', 'banana', 'orange']);
console.log(set.has('apple')); // true
console.log(set.has('watermelon')); // false
  • 这里判断Set中是否存在字符串'apple'和'watermelon'。
  1. Map

Map是ES6+中的另一个新类型,它类似于对象,但是键不仅仅限于字符串,可以是任意类型的数据。使用Map可以帮助我们更加方便地进行键值对操作。

  • 创建Map
    在ES6+中,我们可以使用new关键字来创建一个Map。例如:
const map = new Map();
  • 这里创建了一个空的Map。
  • 添加元素
    在ES6+中,我们可以使用set方法向Map中添加元素。例如:
const map = new Map();
map.set('name', 'Alice');
map.set('age', 20);
map.set({ gender: 'female' }, 'gender');
console.log(map); // Map { 'name' => 'Alice', 'age' => 20, { gender: 'female' } => 'gender' }
  • 这里向Map中添加了字符串'name'、整数20和一个对象{ gender: 'female' }。
  • 获取元素
    在ES6+中,我们可以使用get方法来获取Map中的元素。例如:
const map = new Map();
map.set('name', 'Alice');
map.set('age', 20);
console.log(map.get('name')); // 'Alice'
console.log(map.get('gender')); // undefined
  • 这里获取了Map中键为'name'和'gender'的值。
  • 删除元素
    在ES6+中,我们可以使用delete方法从Map中删除元素。例如:
const map = new Map([
  ['name', 'Alice'],
  ['age', 20]
]);
map.delete('name');
console.log(map); // Map { 'age' => 20 }
  • 这里从Map中删除了键为'name'的元素。

总结

通过本文的介绍,我们了解了JavaScript中的两个新类型Set和Map

目录
相关文章
|
14天前
|
前端开发 JavaScript 网络协议
前端最常见的JS面试题大全
【4月更文挑战第3天】前端最常见的JS面试题大全
33 5
|
14天前
|
JavaScript 前端开发 索引
问js的forEach和map的区别
JavaScript中的`forEach`和`map`都是数组迭代方法。`forEach`遍历数组但不修改原数组,无返回值;它接受回调函数处理元素。`map`则遍历数组并返回新数组,新数组元素为回调函数处理后的结果。两者都接收元素、索引和数组作为回调函数参数。
18 7
|
25天前
|
存储 自然语言处理 C++
map和set的简单介绍
map和set的简单介绍
20 1
|
30天前
|
JavaScript 前端开发 Java
纯前端JS实现人脸识别眨眨眼张张嘴案例
纯前端JS实现人脸识别眨眨眼张张嘴案例
41 0
|
16天前
|
存储 JavaScript 前端开发
set和map的区别
set和map的区别
17 4
|
17天前
|
人工智能 前端开发 JavaScript
【前端设计】HTML+CSS+JavaScript基本特性
【前端设计】HTML+CSS+JavaScript基本特性
|
25天前
|
存储 编译器 容器
用红黑树封装实现map和set
用红黑树封装实现map和set
14 0
|
26天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可为任意类型,有序且支持get、set、has、delete操作;Set存储唯一值,提供add、delete、has方法。两者皆可迭代。示例展示了Map和Set的基本用法,如添加、查询、删除元素。
13 2
|
1月前
|
JSON JavaScript 前端开发
Node.js:前端开发的后端利器
Node.js作为一种运行在服务器端的JavaScript环境,为前端开发者打开了后端开发的大门。它以其高效的事件驱动、非阻塞I/O模型以及强大的npm生态,使得前端开发者能够轻松构建服务器端应用,实现前后端的全栈开发。本文将探讨Node.js的核心优势、应用场景以及在前端开发中的重要性。
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0