ES6mapset与数组和对象的比较

Posted ronle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6mapset与数组和对象的比较相关的知识,希望对你有一定的参考价值。

Map和数组的对比

let map = new Map()
let array = []
//
map.set(‘t‘, 1)
array.push(t: 1)
console.log(‘add‘, map, array)
//
let mapExist = map.has(‘t‘)
let arrayExist = array.find(item => item.t)
console.log(‘get‘, mapExist, arrayExist)
//
map.set(‘t‘, 2)
array.forEach(item => 
  item = item.t ? item.t = 2 : ‘‘
  return item
)
console.log(‘modify‘, map, array)
//
map.delete(‘t‘)
array.splice(array.findIndex(item => item.t), 1)
console.log(‘remove‘, map, array)

set和数组的对比

let set = new Set()
let array = []
//
set.add(t: 1)
array.push(t: 1)
console.info(‘add‘, set, array)
//
let setExist = set.has(t: 1)
let arrayExist = array.find(item => item.t)
console.info(‘get‘, setExist, arrayExist)
//
set.forEach(item => 
  item = item.t ? item.t = 2 : ‘‘
  return item
)
array.forEach(item => 
  item = item.t ? item.t = 2 : ‘‘
  return item
)
console.info(‘modify‘, set, array)
//
set.forEach(item => 
  item = item.t ? set.delete(item) : ‘‘
  return item
)
array.splice(array.findIndex(item => item.t), 1)
console.info(‘delete‘, set, array)


map、set和对象的使用比较

let item = t: 1
let map = new Map()
let set = new Set()
let obj = 

//
map.set(‘t‘, 1)
set.add(item)
obj.t = 1
console.log(‘add‘, map, set, obj)
//
console.info(
  action: ‘get‘,
  mapExist: map.has(‘t‘),
  setExist: set.has(item),
  objExist: ‘t‘ in obj
)
//
map.set(‘t‘, 2)
item.t = 2
obj.t = 2
console.log(‘modify‘, map, set, obj)
//
map.delete(‘t‘)
set.delete(item)
delete obj.t
console.log(‘remove‘, map, set, obj)

 

以上是关于ES6mapset与数组和对象的比较的主要内容,如果未能解决你的问题,请参考以下文章

集合与数组比较

通过使用 Map Filter 与对象数组进行比较来返回字段

比较对象数组,最佳方式

js注意点:数组比较大小方法及数组与对象的区别

按属性将对象数组与另一个对象的键进行比较

将两个数组与对象权益进行比较