1. 程式人生 > 實用技巧 >Map與Set

Map與Set

Javascript物件的鍵必須是字串,有時需要更方便操作,ES6引進新語法

Map 是一組鍵值對的二維陣列,具有快速的查詢資料

let obj = [{name: '張三', age: 18}, {name: '李四', age: 20}]

如果需要頻繁查詢obj中某個人的資訊,那需要頻繁遍歷,而Map卻可以避免

1、過濾一下資料
let arr = obj.map(item => {
   return [item.name, item.age] 
})

console.log(arr)  // [['張三‘, 18], ['李四', 20]]

2、Map (針對二維陣列)
let arrMap 
= new Map(arr); arrMap.get('張三') // 18 arrMap.set('王五'22) // [['張三‘, 18], ['李四', 20], ['王五', 22]], 重複key新增覆蓋val元素 arrMap.has('李四’) // true arrMap.delete('王五') // 刪除

Set

Set是一組key的集合,但不儲存value , 由於key不能重複,因此Set不存在重複值(去重)

let arr = [1,2,3,2,'4']
let arrSet = new Set(arr)  // 將陣列變成物件

console.log(arrSet) 
// {1,2,3,'4'} console.log([...arrSet]) // [1,2,3,'4'] 將陣列轉成物件 arrSet.add(5) // {1,2,3,'4',5} arrSet.delete(2) // {1,3,'4',5}