map/set/object/array对比

Posted yangAL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了map/set/object/array对比相关的知识,希望对你有一定的参考价值。

map () {
      //数据结构横向对比, 增,查,改,删
      let map = new Map()
      let array = []
      //增
      map.set(‘t‘,1)
      array.push({t:1})

      console.info(‘map-array‘,map,array)

      //查
      let map_exist = map.has(‘t‘)
      let array_exist = array.find(item => item.t)
      console.info(‘map-array‘,map_exist,array_exist)

      //改
      map.set(‘t‘,2)
      array.forEach(item => item.t?item.t=2:‘‘)
      console.info(‘map-array-modefy‘,map,array)

      //删
      map.delete(‘t‘)
      let index = array.findIndex(item=>item.t)
      array.splice(index,1)
      console.info(‘map-array‘,map,array)
    },

    set () {
      let set = new Set()
      let array = []

      //增
      let obj = {t:1}
      set.add(obj)
      array.push(obj)
      console.log(‘set-array‘,set,array)

      //查
      let set_exist = set.has(obj)
      let array_exist = array.find(item=>item.t)
      console.info(‘set-array‘,set_exist,array_exist)

      //改
      set.forEach(item => item.t?item.t=2:‘‘)
      array.forEach(item => item.t?item.t=2:‘‘)
      console.log(‘set-array‘,set,array)

      //删
      set.forEach(item => item.t?set.delete(item):‘‘)
      let index = array.findIndex(item=>item.t)
      array.splice(index,1)
      console.info(‘set-array‘,set,array)
    },

    test () {
      //map set object 对比
      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(‘map-set-obj‘,map,set,obj)

      //查
      console.log({
        map_exist: map.has(‘t‘),
        set_exist: set.has(item),
        obj_exist: ‘t‘ in obj
      })

      //改
      map.set(‘t‘,2)
      item.t = 2
      obj[‘t‘] = 2
      console.log(‘map-set-obj‘,map,set,obj)

      //删
      map.delete(‘t‘)
      set.delete(item)
      delete obj[‘t‘]
      console.log(‘map-set-obj‘,map,set,obj)
    }

以上是关于map/set/object/array对比的主要内容,如果未能解决你的问题,请参考以下文章

博客首页全新改版;博客代码片支持折叠;原创博文新增打赏功能……2022.1.17

Python高阶(一) - 单线程、多线程和多进程的效率对比测试

iOS并发编程对比总结,NSThread,NSOperation,GCD - iOS

中科图新地图软件(LocaSpaceViewer)的各种卫片的偏移对比

中科图新地图软件(LocaSpaceViewer)的各种卫片的偏移对比

中科图新地图软件(LocaSpaceViewer)的各种卫片的偏移对比