vue中map()快速使用方法小结
作者:巧巧里
map()函数是在JS的数组中定义的,它返回一个新的数组,下面这篇文章主要给大家介绍了关于vue中map()快速使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
一、map()定义和用法(菜鸟教程)
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
也就是对一个数组进行一定的处理并返回处理的结果。
二、map()使用
const data = res.map(item => item.id); const data = res.map(item => return item.id); const data = res.map(item => { name: item.name, id: item.id }) const data = res.map(item => { text: item.id + item.name }); const data = res.map(item => { const temp = find(options, { code: item }); return temp; })
三、一点小总结
写不写return 都会返回一个数组,需要一个值来接收这个数组。
某种程度上和foreach差不多,但是foreach不会返回。
四、foreach map every some find区别
foreach遍历数组,不会有返回值。
map遍历数组,返回处理后的新数组。
every判断数组中每一个元素是否符合某个条件,返回一个布尔值。
some判断数组中是否有元素符合某个条件,返回一个布尔值。
filter筛选数组中满足条件的元素,返回筛选后的新数组。
find:返回符合条件的第一个对象。
附:map更新后不重新渲染页面问题
<el-row :gutter="12"> <el-col class="m10-right1" :span="8" v-for="items in baseList2" :key="items.id"> </el-col> </el-row>
data () { return { myMapChangeTrucher:0, mapbasicList:new Map(),//存放基站基本信息的map }; }, methods: { getBaseData(ret){ this.mapbasicList.set(ret.baseId,ret) this.myMapChangeTrucher+=1 //改变参数 }, } computed:{ //使用计算属性将map装换为显示的列表 baseList2() { var x=this.myMapChangeTrucher //监听到参数的变化 并改变map return Array.from(this.mapbasicList.values()) } }
(升级:同上只需要在计算属性中添加一些代码)当有两个map,key相同,需要组合一起使用时:
computed:{ //使用计算属性将map装换为显示的列表 baseList2() { var x=this.myMapChangeTrucher //监听到参数的变化 并改变map var arr=[] //返回列表的数组 this.mapstateList.forEach(element => { element.online=this.mapOnline.get(element.bsid) //将在线不在线的数据循环添加到map的新字段中 arr.push(element) }); return arr // return Array.from(this.mapbasicList.values()) } }
总结
到此这篇关于vue中map()快速使用方法的文章就介绍到这了,更多相关vue中map()使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!