js数组map()的用法

JavaScript Array map() 方法

先说说这个方法浏览器的支持:
支持五大主流的浏览器,
特别注意:IE 9 以下的浏览器不支持,只支持IE 9以上的版本的浏览器
特别注意:IE 9 以下的浏览器不支持,只支持IE 9以上的版本的浏览器
特别注意:IE 9 以下的浏览器不支持,只支持IE 9以上的版本的浏览器

一、定义和用法

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。

二、语法

array.map(function(currentValue,index,arr), thisValue)

三、参数说明

currentValue: 必须。当前元素的值
index: 可选。当前元素的索引值
arr: 可选。当前元素属于的数组对象
thisValue: 可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。
如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。

例子一:

把数组里每个值乘以2并返回一个新数组

ar arr = ["中国", "美国", "俄罗斯"];
    let newArr = arr.map((record,k) => {
        console.log(record)
        console.log(k)
    })
    // 1. 把数组里每个值乘以2并返回一个新数组
    let arr1 = [7,10,3,2]
    const newArr1 = arr1.map((record,k) => {
        return record * 2
    })
    console.log(newArr1) // 打印:  [14, 20, 6, 4]

例子二:

把数组里面每个值前面都加一个统一的姓叫“张”,并返回一个新数组

    // 2.把数组里面每个值前面都加一个统一的姓叫“张”,并返回一个新数组
    let arr2 = ['小米','华为','苹果']
    let newArr2= arr2.map((record,k) => {
        return '张' + record
    })
    console.log(newArr2)  // 打印: ['张小米', '张华为', '张苹果']

例子三:

3.遍历数组里每个对象,并返回新数组(要求新数组里每个对象有一个新的属性叫iq(值为50-100随机整数)),重点:不能影响原数组里面的对象

    let arr3 = [
        {name: '孙悟空',age:500},
        {name: '猪八戒',age:300},
        {name: '沙僧',age:309},
        {name: '唐三藏',age:200},
        {name: '白龙马',age:100}
    ]
    let newArr3 = arr3.map((record, k) => {
        return {
            name: record.name,
            age: record.age,
            iq:Math.floor(Math.random()*(100-50+1)+50)
        }
    })
    console.log(newArr3)

例子三的打印结果:
在这里插入图片描述

例子四:

  1. 遍历数组里每个对象,并返回新数组,要求新数组里每个对象只有name属性和值(并且不能影响原来数组里对象的属性和值)
let arr4 = [
        {name: '孙悟空',age:500},
        {name: '猪八戒',age:300},
        {name: '沙僧',age:309},
        {name: '唐三藏',age:200},
        {name: '白龙马',age:100}
    ]
    let newArr4 = arr4.map((record,k) => {
        return {
            name: record.name
        }
    })
    console.log(arr4)
    console.log(newArr4)

例子四的打印结果:
在这里插入图片描述

例子五:

重构数组:用name的值作为key,age的值作为value,用来重构数组
方法一:

    // 方法一:结构出对象的键值对
    let newArr41 = arr4.map(({name,age}) => {
        return {
            [name]: age
        }
    })
    console.log(newArr41)

例子五中方法一的打印结果:
在这里插入图片描述

方法二:

    // 方法二:
    let newArr42 = arr4.map((record,k) => {
        return{[record.name]: record.age}
    })
    console.log(newArr42,'newArr42')

例子五中方法二的打印结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/197685.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于mvc电影院售票预订选座系统php+vue+elementui

本影院售票系统主要包括二大功能模块,管理员功能模块和用户功能模块。 (1)管理员模块:系统中的核心用户管理员登录后,通过管理员功能来管理后台系统。主要功能有:首页、个人中心、电影类型管理、场次时间管…

Corel产品注册机Corel Products KeyGen 2023 – XFORCE解决会声会影2023试用30天

CorelDRAW注册机2023支持全系列产品_Corel Products KeyGen 2023 X-FORCE v8 CorelDRAW注册机2023支持全系列产品_Corel Products KeyGen 2023 X-FORCE v8,Corel产品注册机(Corel Products KeyGen 2023 – XFORCE),支持Corel旗下所…

jQuery_07 函数的使用

在jQuery中,如何使用函数呢? 1.基本函数 函数(常用的) 其实有很多函数,但是我们只需要掌握常用的函数即可 1.val 操作dom对象的value val() 没有参数 获取dom数组中第一个dom对象的value值 val(value) 有参数 设置dom数组中所有dom对象的…

Zotero | 取消翻译后自动添加笔记

目录 Step1&#xff1a;点击 “编辑” << “首选项” Step2&#xff1a;“翻译” << 取消勾选 “自动翻译批注” 在 Zetoro 中&#xff0c;选择颜色标记勾画的内容&#xff0c;将会自动生成一条笔记&#xff0c;如下图所示&#xff1a; 本人觉得很鸡肋&#xff0…

记录本地与服务器之间数据传输方法(上传、下载文件)

文章目录 一、使用scp命令实现参数说明示例说明 二、使用工具实现windows系统苹果系统如有启发&#xff0c;可点赞收藏哟~ 一、使用scp命令实现 scp 是 secure copy &#xff08;安全复制&#xff09;的缩写, scp 是基于 ssh 登陆进行安全的远程文件拷贝命令。相当于 cp 命令 …

渗透测试考核--两层内网 cs windows socks5

这里考核为渗透 这里是网络拓扑图 这里记录一下 两台外网 两台内网 首先拿到C段 nmap进行扫描 外网1 nmap -p 80 172.16.17.2/24 主机存活 一般都是web服务入手 所以我们指定80端口 然后去查找开放的 最后获取到2个ip Nmap scan report for 172.16.17.177 Host is u…

哈希函数:保护数据完整性的关键

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

WebSocket快速入门

WebSocket 借鉴&#xff1a; https://blog.csdn.net/weixin_45747080/article/details/117477006 https://cloud.tencent.com/developer/article/1887095 简介 WebSocket 是一种网络传输协议&#xff0c;可在单个 TCP 连接上进行全双工通信&#xff0c;位于 OSI 模型的应用…

Android Bitmap保存成至手机图片文件,Kotlin

Android Bitmap保存成至手机图片文件&#xff0c;Kotlin fun saveBitmap(name: String?, bm: Bitmap) {val savePath Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString()if (!Files.exists(Paths.get(savePath))) {Log.d("保存文…

DHCP协议及实验omnipeek抓包工具分析 IPv4协议

一 抓包命令 adb shell tcpdump -i wlan0 -w /data/tcpdump.pcap 抓包后截图如下 二 DHCP是什么 2.1 DHCP定义 DHCP( Dynamic Host Configuration Protocol, 动态主机配置协议)定义: 存在于应用层(OSI) 前身是BOOTP(Bootstrap Protocol)协议 是一个使用UDP(User …

【Unity实战】按物品掉落率,随机掉落战利品物品系统(附项目源码)

文章目录 前言开始参考源码完结 前言 当开发游戏时&#xff0c;一个常见的需求是实现一个物品随机掉落系统。这个系统可以让玩家在击败敌人或完成任务后获得随机的物品奖励&#xff0c;增加游戏的可玩性和乐趣。 在Unity中&#xff0c;我们可以通过编写代码来实现这样的战利品…

Open Feign 源码解析(一) --- FactoryBean的妙用

什么是Open Feign? OpenFeign 是 Spring Cloud 全家桶的组件之一&#xff0c; 其核心的作用是为 Rest API 提供高效简洁的 RPC 调用方式 搭建测试项目 服务接口和实体 项目名称 cloud-feign-api 实体类 public class Order implements Serializable {private Long id;p…

windows中打开psql命令行

一、第一种方式 1.点击下方的psql&#xff0c;打开命令行窗口 2.中括号中的是默认值&#xff0c;直接回车就行 3.成功 二、第二种方式 双击安装目录中的执行文件 “D:\soft\postgresql\catalogue\scripts\runpsql.bat” 三、第三种方式 1.加到环境变量 把“D:\soft\postg…

ubuntu vmware开启3d加速画面异常

在ubuntu上开启vmware&#xff0c;进入全屏就会出现左上角和右下角两个不同的画面&#xff0c;并来回闪&#xff0c;不使用3d加速&#xff0c;一切正常&#xff0c;但是画面模糊。在ubuntu18 20 22上测试&#xff0c;vmware 15 16 17问题依旧。 原因 经过测试&#xff0c;原…

【Java】认识异常

文章目录 一、异常的概念和体系结构1.异常的概念2.异常的体系结构3.异常的分类 二、异常的处理1.防御式异常2.异常的抛出3.异常的捕捉 三、异常的处理流程四、自定义异常类 一、异常的概念和体系结构 1.异常的概念 在Java中&#xff0c;将程序执行过程中发生的不正常行为称为…

麒麟操作系统光盘救援模式

麒麟操作系统光盘救援模式 Kylin V4 桌面版&#xff1a; 启动主机后&#xff0c;插入系统光盘&#xff0c;在 BIOS 启动项里设置成从光盘启动后保存退出重启主机。 稍等片刻就会到启动菜单选项&#xff0c;到启动菜单界面后选择第一项试用银河麒麟操作系统而不安 装&#xff…

6.2 Windows驱动开发:内核枚举SSSDT表基址

在Windows内核中&#xff0c;SSSDT&#xff08;System Service Shadow Descriptor Table&#xff09;是SSDT&#xff08;System Service Descriptor Table&#xff09;的一种变种&#xff0c;其主要用途是提供Windows系统对系统服务调用的阴影拷贝。SSSDT表存储了系统调用的函数…

3.前端--HTML标签-文本图像链接【2023.11.25】

1.HTML常用标签(文本图像链接&#xff09; 文本标签 标题 <h1> - <h6> 段落<p> 我是一个段落标签 </p> 换行 <br /> <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta ht…

C++进阶篇5---番外-位图和布隆过滤器

哈希的应用 一、位图 情景&#xff1a;给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何快速判断一个数是否在这40亿个数中&#xff1f;&#xff1f;&#xff1f; 看到查找元素的范围&#xff0c;暴力肯定是过不了的&#xff0c;我们要么…

什么游戏搬砖挣钱,还不费时间?

游戏搬砖的项目挺多的&#xff0c;但是不费时间&#xff1f;估计就Steam搬砖或叫CSGO搬砖。 正常的游戏搬砖的项目&#xff0c;想要挣钱&#xff0c;没有不费时间的。因为游戏搬砖是需要耗费大量的时间去玩游戏&#xff0c;熟悉游戏&#xff0c;利用自己的时间和技巧手段在游戏…
最新文章