前端中的set, map

2021-09-18 00:02:18 字數 1089 閱讀 9914

set

es6提供了新的資料結構set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。

set函式可以接受乙個陣列(或類似陣列的物件)作為引數,用來初始化。

const arr = [1, 2, 3, 4, 5, 5, 4, 3, 2, 1];

const set = new set();

arr.foreach(item => set.add(item));

console.log(set); // 1, 2, 3, 4, 5

// 陣列快速去重

console.log([...new set(arr)]); //[1, 2, 3, 4, 5]

四個操作方法:

add(value):新增某個值,返回set結構本身。

delete(value):刪除某個值,返回乙個布林值,表示刪除是否成功。

has(value):返回乙個布林值,表示該值是否為set的成員。

clear():清除所有成員,沒有返回值

map

map結構提供了「值—值」的對應,是一種更完善的hash結構實現。如果你需要「鍵值對」的資料結構,map比object更合適。它類似於物件,也是鍵值對的集合,但是「鍵」的範圍不限於字串,各種型別的值(包括物件)都可以當作鍵。

var map = new map();

var obj = ;

map.set(obj, '小緣喵');

map.get(obj); // 小緣喵

map.has(obj); // true

map.delete(obj) ;// true

map.has(obj); // false

如果map的鍵是乙個簡單型別的值(數字、字串、布林值),則只要兩個值嚴格相等,map將其視為乙個鍵,包括0和-0。另外,雖然nan不嚴格相等於自身,但map將其視為同乙個鍵。

例項屬性和方法:size、set、get、has、delete、clear

遍歷方法:keys()、values()、entries()、foreach()

前端 js中 set, map區別

set 物件類似於陣列,且成員的值都是唯一的。const arr 1,2,3,4,5,5,4,3,2,1 const set new set arr.foreach item set.add item console.log set 1,2,3,4,5 陣列快速去重 console.log new ...

C 中的set map插入修改遍歷

set 插入用insert,map可用insert 和陣列兩種方式插入,陣列插入可覆蓋已存在的鍵值對,使用insert方式時,若鍵值已經存在,則不能插入。二者遍歷方式有兩種,迭代器iterator foreach語句 sets s.insert 1 set iterator it for it s....

Java中Set Map和List的區別

在寫專案的時候遇到了去重,用到了set集合的hashset,查閱了資料 2.list 列表 特徵主要是元素以線性方式儲存,可以存放重複物件。檢索list集合中所有元素的方法 由index指定索引位置下標0開始 1 for迴圈和get 方法 for int i 0 ilist 保證維護元素特定的順序。...