map():自带循环 并把处理过后的值返回填在对应的位置
map(function callback(ele,index,array){},thisArr):里面传入的是回调函数,并用函数解决需求
map(function(ele,index,arr){});
ele:数组里面的对应的元素;
index:数组里面对应元素位置的索引;(可选)
arr:对应当前调用的组数值;(可选)
thisArr:执行callback函数时值被作用this;(可选)
举一个例子
1>实现数组里面的数 全部乘以2并返回到一个新数组里面
传统方法
let arr = [1,2,3,4,5,6,7];
let newArr = [];
for(let i = 0 ; i < arr.length ; i ++){
newArr.push(arr[i]*2);
}
console.log(newArr); // [2,4,6,8,10,12,14]
map()方法
let arr = [1,2,3,4,5,6];
let newArr = arr.map(function(ele){
return ele * 2
});
console.log(newArr);//[2,4,6,8,10,12,14]
2>创建一个对象数组让这个数组对象里面的age里面的值全部增加一并添加一个check对象
let arr = [{age:‘18’,name='小明'},{age:‘19’,name='小红'},{age:‘20’,name='小飞'}]
let newArr = arr.map(function(ele){
ele.age = ele.age + 1;//数组对象里面的age加一;
ele.check = true;//添加元素;
return ele;
})
` console.log(newArr);//[{age:‘19’,name='小明',chack=true},{age:‘20’,name='小红',chack=true},{age:‘21’,name='小飞',chack=true}]