map函数会按序地使用传入地callFunc处理原数组的每个元素,并将这些处理后的结果组成一个新数组返回;map()不会对空数组进行检测,也不会改变原数组的值
array.map(function(currentValue,index,arr), thisValue)
// index是当前元素的索引,可省略;
// arr是map方法被调用的数组对象,可省略
var arr = new Array(3).fill(0)
arr = arr.map(function(curValue){
curValue ++ //对原数组地每个元素++,然后返回一个新数组
})
// 其中,thisValue是callFunc调用时this的值,可不传
// 如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象
from函数是ES6标准里新增的,用于将一个有length属性的对象转化为数组,并且可同时调用mapFunc处理数组的所有元素
Array.from(obj,mapFunc,thisValue)//thisValue可不传,此时mapFunc中的this指向window
// 以下代码使用from方法实现数组去重
let arr2 = [1, 2, 1, 2]
let arr2 = Array.from(new Set(arr2))
console.log(arr2) //1,2