• map映射数组与引用类型处理技巧


    这个映射你可以理解为,我们平时去生活中打印店复制一张纸。

    哇,插入个话题,想当年我刚毕业的时候就是在广告设计店工作的~~~~哈哈哈哈,这个复印的对于我来说简直是太熟悉了~~~~

    咳咳,偏题了。

    当我们复印一份数组的时候,在复印的过程中,我们可以对他进行二次处理。

    <script> let arr = ['hdcms', 'houdunren','test']; let result = arr.map(function(value,index,arr){     return 1 })console.log(result); // 这边的返回值就是返回 一个新数组script>

    那么现在,我们希望把这个value变换一下,每个前面加上'后端认-'怎么做呢?

    let arr = ['hdcms', 'houdunren','test'];let hd = arr.map(function(value,index,arr){       return  value = `后盾人-${value}`  }) console.log(hd);

    问:新数组变了,原数组变了么?

    答:原数组是不会变的,还是老样子。因为这个是值类型

    下面这个案例,原数组就会变了。

     let lessons = [            {title:'媒体查询', category: 'css'},            {title:'FLEX弹性盒模型', category: 'flex'},            {title:'MYSQL多表查询随意操作', category: 'mysql'}        ]         lessons.map(function(value){             value.test = 1111        })

    我给每行的里面新增加了一个值test,因为这个是引用类型,所以会改变原数组

    那如果现在有个需求,我想要个新数组,原数组不变,怎么破?

    第一种写法:

            let lessons = [            {title:'媒体查询', category: 'css'},            {title:'FLEX弹性盒模型', category: 'flex'},            {title:'MYSQL多表查询随意操作', category: 'mysql'}        ]        let hd = lessons.map(function(value){           return Object.assign({test: 1111}, value)        })

    第二种写法:

            let lessons = [            {title:'媒体查询', category: 'css'},            {title:'FLEX弹性盒模型', category: 'flex'},            {title:'MYSQL多表查询随意操作', category: 'mysql'}        ]        let hd = lessons.map(function(value){           return {               title: value.title,               category: value.category,               test: 1111           }        })


    以上就是数组的映射方法,目的很简单,就是对原数组的操作

    本文最后,解释一下map的三个参数分别是什么意思~~~~

    完。

  • 相关阅读:
    第十四章 手动创建 REST 服务(二)
    Gradle4.4记录笔记
    正则表达式常用示例
    vue打包部署遇到的问题
    【C++实战小项目】通讯录(二) 通讯录添加用户的模拟详解,多数组变化
    中期科技:智慧公厕打造智能化城市设施,提升公共厕所管理与服务体验
    Kafka系列之:kafka集群broker节点变化重新分配分区
    全栈测试平台RunnerGo你了解嘛
    C++ 继承
    seleuium 自动测试工具
  • 原文地址:https://blog.csdn.net/qq_32963841/article/details/126374360