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对比的更多相关文章

  1. 通过增删改查对比Array,Map,Set,Object的使用成本和实现方式

    1.Array 和 Map 对比 { // array and map 增 查 改 删 let map = new Map(); let arr = []; // 增 map.set('a', 1); ...

  2. String, JSONArray , JSONObject ,Map<String, Object> 与对象

    String pic = "[{\"picServiceUrl\": \"0f4bb44afb2e48d48b786d3bbdeec283/20180408/6 ...

  3. 再谈js对象数据结构底层实现原理-object array map set

    如果有java基础的同学,可以回顾下<再谈Java数据结构—分析底层实现与应用注意事项>:java把内存分两种:一种是栈内存,另一种是堆内存.基本类型(即int,short,long,by ...

  4. new Map()详细介绍与对比

      说明: Map结构提供了“值—值”的对应,是一种更完善的Hash结构实现.如果你需要“键值对”的数据结构,Map比Object更合适.它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串, ...

  5. List<Map<String, Object>> 与 json 互转

    近期做指纹识别,需要用到缓存文件,数据量并不大,用redis不合适,所以用到了txt文件. 思路是 1.定时查询指纹,存到txt缓存文件中.      2.新增或删除指纹时,查询指纹,存到txt缓存文 ...

  6. 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历

    分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...

  7. 使用 JDBC 和 JavaTemplate 查询SQL语句返回 List<Map<String,Object>>

    使用JDBC执行sql语句返回List 类型: public class JdbcUtil { private static Log log = LogFactory.getLog(JdbcUtil. ...

  8. JS 深度拷贝 Object Array

    JS 深度拷贝 Object Array function cloneObj(o) { var isArray = o instanceof Array; var isObject = o insta ...

  9. List<Map<String,Object>>使用Java代码遍历

    List<Map<String,Object>>的结果集怎么使用Java代码遍历以获取String,Object的值: package excel; import java.u ...

随机推荐

  1. python基础教程总结15——7 自定义电子公告板

    1. Python进行SQLite数据库操作 简单的介绍 SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身.它是遵守ACID的关联式数据库 ...

  2. 【UML】活动图Activity diagram(转)

    前言 在UML状态图的总结中说道,活动图和状态图是紧密相关的.它与流程图也有很多相似的地方. 定义 活动图是状态图的一种特殊形式.其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完 ...

  3. IDE spec for registry settings

    IDE spec for registry settings Advanced customization of Visual Assist is possible with registry set ...

  4. Codevs1082 线段树练习 3

    题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和. 输入描述 Input Description 第一行一个正整数n,接下 ...

  5. B. Anatoly and Cockroaches

    B. Anatoly and Cockroaches time limit per test 1 second memory limit per test 256 megabytes input st ...

  6. GIMP如何制作一只大佬猫头像

    新建文件File -> 设置宽度为24px,高度5px:高级选项中将背景图片设置为无色 使用铅笔,前景色设为黑色,画出眼镜的模样,画出反光效果:将前景色设为灰色 放大图片,右击空白区域-> ...

  7. java实现可安装的exe程序

    java实现可安装的exe程序 通过编写Java代码,实现可安装的exe文件的一般思路: 1.在eclipse中创建java项目,然后编写Java代码,将编写好的Java项目导出一个.jar格式的ja ...

  8. pyecharts用法,本人亲测,陆续更新

    主题 除了默认的白色底色和dark之外,还支持安装扩展包 pip install echarts-themes-pypkg echarts-themes-pypkg 提供了 vintage, maca ...

  9. Django之cookie、session

    会话跟踪技术 可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应. 一次会话过程中,我们应该注意的是什么呢? 那就是,一些操作要保证用户操作的是用户自己个人的数据.举个 ...

  10. 线段树:HDU2795-Billboard(建树方式比较新奇)

    Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...