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

Posted Danna123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了map映射数组与引用类型处理技巧相关的知识,希望对你有一定的参考价值。


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

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

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

咳咳,偏题了。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第一种写法:

        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映射数组与引用类型处理技巧_数组_06


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

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

map映射数组与引用类型处理技巧_媒体查询_07

完。

以上是关于map映射数组与引用类型处理技巧的主要内容,如果未能解决你的问题,请参考以下文章

Java中的Set,List,Map的区别

文章标题

java语言中集合与数组的区别是啥?

Go 语言入门很简单 -- 8. Go Maps #私藏项目实操分享#

基础篇之集合总结

如何存储多个数据类型的数组