Array.from()
方法从一个类似数组或可迭代对象中创建一个新的,浅拷贝的数组实例。
创建一个长度为10,值为undefined的数组
var a = Array.from({length:10})
该方法一共有三个参数
object | 必需,要转换为数组的对象。 |
mapFunction | 可选,数组中每个元素要调用的函数。 |
thisValue | 可选,映射函数(mapFunction)中的 this 对象。 |
var a = Array.from([1,2,3],x=>x*2)
console.log(a)//[2,4,6]
var obj = {
name:'wcy'
}
var a = Array.from([1,2,3],function(){
console.log(this) //obj
},obj)
var b = Array.from([1,2,3],()=>console.log(this),obj) //箭头函数依然指向window
Array map()
方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
currentValue | 必须。当前元素的值 |
index | 可选。当前元素的索引值 |
arr | 可选。当前元素属于的数组对象 |
var a = [10, 20, 30].map((v,i,s)=>console.log(v,i,s))
元素 索引 数组
10 0 (3) [10, 20, 30]
20 1 (3) [10, 20, 30]
30 2 (3) [10, 20, 30]
创建一个长度为10的数组
//使用Array.from()创建一个长度为10的空数组,使用mapfunction将该数组的索引值作为新数组的值
var a = Array.from({length:10},(v,i)=>i)
console.log(a)//[0,1,2...9]