前端祖传三件套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

目录
相关文章
|
17天前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
|
25天前
|
设计模式 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用JavaScript,打造智能交互体验!
【10月更文挑战第30天】前端开发领域充满了无限可能与创意,JavaScript作为核心语言,凭借强大的功能和灵活性,成为打造智能交互体验的重要工具。本文介绍前端大牛如何利用JavaScript实现平滑滚动、复杂动画、实时数据更新和智能表单验证等效果,展示了JavaScript的多样性和强大能力。
42 4
|
20天前
|
前端开发 JavaScript 安全
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第7天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤。包括项目准备、安装 `javascript-obfuscator`、配置 Vite 构建以应用混淆,以及最终构建项目进行混淆。通过这些步骤,可以有效提升前端代码的安全性,防止被他人轻易分析和盗用。
|
2月前
|
JavaScript 前端开发 Java
VUE学习四:前端模块化,ES6和ES5如何实现模块化
这篇文章介绍了前端模块化的概念,以及如何在ES6和ES5中实现模块化,包括ES6模块化的基本用法、默认导出与混合导出、重命名export和import,以及ES6之前如何通过函数闭包和CommonJS规范实现模块化。
92 0
VUE学习四:前端模块化,ES6和ES5如何实现模块化
|
2月前
|
存储
ES6中的Set数据结构的常用方法和使用场景
ES6中的Set数据结构的常用方法和使用场景
|
2月前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
164 0
|
2月前
|
前端开发 JavaScript 程序员
【从前端入门到全栈】Node.js 之核心概念
【从前端入门到全栈】Node.js 之核心概念
|
2月前
|
JavaScript 前端开发 API
【前端基础篇】JavaScript之jQuery介绍
【前端基础篇】JavaScript之jQuery介绍
62 0
|
2月前
|
JavaScript 前端开发 Java
【前端基础篇】JavaScript之BOM介绍
【前端基础篇】JavaScript之BOM介绍
41 0
|
2月前
|
JavaScript 前端开发 UED
【前端基础篇】JavaScript之DOM介绍2
【前端基础篇】JavaScript之DOM介绍
22 0