javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > JavaScript Set Map数据结构

JavaScript中Set和Map数据结构使用场景详解

作者:Tom_Li

这篇文章主要为大家介绍了JavaScript中Set和Map数据结构使用场景详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Set数据结构

Set 是 ES6 中引入的一种新的数据结构,它是一种集合,可以存储任意类型的数据

Set 每个元素的值在集合中是唯一的。

使用 Set 数据结构可以方便地去除数组或对象中的重复元素。

应用场景

// 1  数组去重
const arr = [1, 2, 3, 2, 1];
const set = new Set(arr);
const newArr = Array.from(set); // newArr = [1, 2, 3]
// 2 对象去重
const arr = [{ id: 1 }, { id: 2 }, { id: 1 }, { id: 3 }];
const set = new Set(arr.map(item => item.id));
const newArr = Array.from(set, id => ({ id })); 
// newArr = [{ id: 1 }, { id: 2 }, { id: 3 }]

 在上面的代码中,我们首先使用 Array.map 将数组中的对象映射为它们的 id 值,

然后使用 new Set 去除重复的 id 值。

最后,我们使用 Array.from 将集合转换为对象数组,

并根据每个 id 值创建一个新的对象,得到不重复对象的数组。

Map 数据结构

解释

Map是一种 js 数据结构,与数组的 map 方法并非一种,要区分开来

Map数据结构来管理数据,能提高代码的可读性

Map 相比较 对象格式 存储速度要更快

// 创建一个Map对象
const formData = new Map();
// 添加表单元素的值到Map中
formData.set('username', 'Tom');
formData.set('password', '123456');
// 获取表单元素的值
const username = formData.get('username');// username = Tom
const password = formData.get('password');// password = 123456

通过使用Map来管理数据,可以使代码更加简洁和易于维护。

同时,Map也提供了一些方便的方法,如set()、get()、has()、delete()等,可以方便地对数据进行操作。

使用场景

1. 管理表单数据

当页面中有多个表单元素需要进行数据交互时,可以使用Map来存储表单数据。例如:

const formData = new Map();
formData.set('username', 'Tom');
formData.set('password', '123456');
// 通过get()方法来获取已存储的数据
const username = formData.get('username');// username = Tom
const password = formData.get('password');// password = 123456

2. 管理页面状态

当页面中存在一些状态需要管理时,可以使用Map来存储状态。例如:

const state = new Map();
state.set('loading', false);
state.set('error', null);
// 通过set()方法来更新已存储的数据
state.set('loading', true);
state.set('error', '请求失败');

3. 管理列表数据

当页面中存在一个列表需要管理时,可以使用Map来存储列表数据。例如:

const list = new Map();
list.set(1, { id: 1, name: 'Tom' });
list.set(2, { id: 2, name: 'Join' });
// 通过get()方法来获取已存储的数据
const item = list.get(1); // item = { id: 1, name: 'Tom' }
const item = list.get(2); // item = { id: 2, name: 'Join' }

4. 管理缓存数据

当我们需要缓存一些数据时,可以使用Map来存储缓存数据。例如:

const cache = new Map();
cache.set('key1', 'value1');
cache.set('key2', 'value2');
// 通过get()方法来获取已存储的数据
const value = cache.get('key1');// value = value1
const value = cache.get('key2');// value = value2

以上就是JavaScript中Set和Map数据结构使用场景详解的详细内容,更多关于JavaScript Set Map数据结构的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文