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