首页 > 其他分享 >js中数组map和集合map

js中数组map和集合map

时间:2023-12-13 12:23:03浏览次数:28  
标签:map arr js item let 数组 集合

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值就能拿到对应的数据,是不是很方便呢

标签:map,arr,js,item,let,数组,集合
From: https://www.cnblogs.com/yourgrandfather/p/17898775.html

相关文章

  • 二维数组页码分页
    $param=$this->request->param();$data=[['id'=>1,'name'=>'11'],['id'=>2,'name'=>'22'],['id'=>3,&......
  • 【教3妹学编程-算法题】交换得到字典序最小的数组
    3妹:2哥2哥,你有没有看到新闻:周海媚姐因病医治无效,于2023年12月11日离开了我们。2哥 :看到了,真是个悲伤的消息,早晨还看到辟谣,以为没事了呢。3妹:是啊,#再见周芷若#2哥:童年的女神,周海媚演的这版“周芷若”真的很深入人心!被评为“最美周芷若”3妹:哎,人有生老病死,R.I.P.2哥:唉,说点高兴的......
  • js实现上传文件夹功能
    最近在研究上传文件夹功能,并上传到阿里云oss,研究了几天终于实现了。前端代码:添加“webkitdirectory”标签表示支持文件夹上传<inputtype='file'id="inputUploadDir"name="file"webkitdirectory>js代码部分$("#inputUploadDir").change(function(e){letfiles=t......
  • js上传文件夹的功能如何实现
    在JavaScript中无法直接上传整个文件夹,但可以通过以下步骤实现上传文件夹的功能:1.使用``标签来选择文件夹。该标签支持同时选择多个文件和文件夹。2.监听文件夹选择变化的事件,并获取所选择的文件和文件夹。constfileInput=document.querySelector('input[type="file"]');fil......
  • jsHTTP/HTML/浏览器
    1|前端基础1.1|HTTP/HTML/浏览器说一下http和https参考回答:https的SSL加密是在传输层实现的。(1)http和https的基本概念http:超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏......
  • 汇编-js符号位SF=1则跳转(负数则跳转)
      .386.modelflat,stdcalloptioncasemap:none.stack4096IncludeIrvine32.incincludelibIrvine32.libExitProcessPROTO,dwExitCode:DWORD.data.codemainPROCoral,10000000b;让符号位SF=1jst1;js符号位S......
  • js 跳出多层循环(终止循环)
    1、thrownewError()优点:可以中断循环执行;适用于各种形式(for循环,forEach循环等)缺点:相当于强制抛错中断执行,不仅终止了循环,后续代码也不再执行废话不多说,上例子,找出【第一个爱吃芒果】的人:constarr=[{name:'张三',fruit:['苹果','香蕉']}......
  • [JavaScript] JS中如何跳出循环/结束遍历
    [JavaScript]JS中如何跳出循环/结束遍历直接抛结论,下表是JS中常用的实现循环遍历的方法的跳出/结束遍历的办法,经过测试后的总结。可能各位大佬还有其他的办法,我在此表示大佬NB。 序号方法breakcontinuereturnreturntruereturnfalse结论1for循环成功跳出本次循......
  • Nmap
    Nmap是一个常用的网络扫描工具,可以用来识别网络上的主机和服务,以及检测网络安全漏洞。使用Nmap进行网络扫描时,需要注意以下几个方面:扫描目标:需要确定扫描的目标IP地址或主机名,以及扫描的端口范围。扫描类型:可以选择不同的扫描类型,包括TCP、UDP、SYN等,以适应不同的网络环境和需求......
  • 几种简单的排序算法(js实现)
    排序是日常开发中经常用到的代码,下面是几种常见的排序算法:冒泡排序(BubbleSort)functionbubbleSort(arr){letlen=arr.length;for(leti=0;i<len-1;i++){for(letj=0;j<len-1-i;j++){if(arr[j]>arr[j+1]){......