new Map,Array.from,Object.entries的作用以及使用方法

张开发
2026/6/7 14:11:01 15 分钟阅读
new Map,Array.from,Object.entries的作用以及使用方法
1、先看完整代码Array.from(new Map(arr.map(item[item.code, item])).values())先来看看 arr.map(…)作用把对象数组变成「键值对数组」例如[{code:‘1’,name:‘2’},{code:‘2’,name:‘3’}]会变成[[‘1’, {code:‘1’,name:‘2’}],[‘2’, {code:‘2’,name:‘3’}]]Map 必须接收 [key, value] 格式所以这一步是为 Map 做准备。2、 new Map(…) 的作用Map 是什么Map 是 JS 的键值对结构key 唯一不重复。1、自动去重如果有重复 code后面的会覆盖前面的最终只保留最后一个。2、存储结构以 code 为 key整个对象为 value执行后得到一个 Map 结构Map(2){1{code:1, name:2},2{code:2, name:3}}3、.values() 的作用map.values()作用只把 Map 里的「值」取出来得到一个 MapIterator 迭代器不是数组不能直接用[Map Iterator]{{code:1, name:2},{code:2, name:3}}4、 Array.from(…) 的作用核心Array.from(迭代器)它的作用只有一句话把「类数组 / 迭代器」转成真正的数组上面的 .values() 返回的是迭代器不是数组不能直接用。Array.from 就是把它变成标准数组[{code:1, name:2},{code:2, name:3}]5、Object.entries一句话Object.entries(对象) 会把一个对象转成 [[key, value], [key, value], …] 这样的二维数组。Object.entries(对象)→ 把对象变成 [[键, 值], [键, 值]] 的数组new Map(二维数组)→ 接收这种结构生成一个 Map 做去重

更多文章