Map與Set
阿新 • • 發佈:2020-08-20
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}