js中数组map和集合map
js中数组的map:
使用情况: 想要对一个数组进行操作,然后又不想改变原来的数组数据,还想基于原来数组的数据进行改造,那么可以使用map
写法一:
let arr=[1,2,3,4]
let newArr=arr.map(item=>{
return ++item
})
console.log(newArr,arr) //输出 [2,3,4,5] [1,2,3,4]
let arr=[1,2,3,4]
let newArr=arr.map(item=>++item)
console.log(newArr,arr) //输出 [2,3,4,5] [1,2,3,4]
换行之后需要加return ,因为map需要一个返回值,简写形式不用
js中的map集合
用处,使用后台返回的数据,假设后台返回一个数组,数组中每一个元素都是对象. 现在我们需要使用这个数组中的一个对象里面的值拿出来用,
稍微正常点的人应该都会想到使用findIndex,找到那个元素所在位置的索引然后再去拿.(还有就是使用for循环判断,这个我想应该很少有人这么做吧,因为这样实在是太麻烦太蠢了),
然后在知道了Map集合之后,我的第一反应就是,终于可以不用一直使用findIndex了
我们可以在后台返回来的时候就new Map()集合,然后使用forEach配合switch方法,将每一个元素放入到集合中.这样我们在使用的时候就可以直接根据自己key值去取对应的元素了,而不是用一次
findIndex一次,虽然可以封装一个方法,但是还是觉得使用这个map集合会更加好一点
示例:
//后台返回一个数组
let arr = ["嗨嗨", "我tm来喽", "都多余了", "爱谁谁"];
let map = new Map();
arr.forEach((item) => {
switch (item) {
case "嗨嗨":
map.set("hh", item);
break;
case "我tm来喽":
map.set("wtmll", item);
break;
case "都多余了":
map.set("ddyl", item);
break;
case "爱谁谁":
map.set("ass", item);
break;
}
});
console.log(map.get('ddyl')); //输出 都多余了
这样在需要拿到对应数据的时候使用自己定义的东西key值就能拿到对应的数据,是不是很方便呢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)