其实我只想记录一下,什么叫伪数组。我之前一直以为伪数组是可迭代对象来着,直到我看见了一行代码。
const floorData = Array.from({length: promises.length}, ()=> {
return { z:z1,s:s1}
})
Array.from
from是数组的构造函数的 方法, 其作用是将伪数组或者可迭代对象转为js数组;接收三个参数,
Array.from(arrayLike[, mapFn[, thisArg]])
第一个就是 伪数组或者迭代对象,
第二个 是Array.map的一个回调函数mapFn, 修改数组里对应索引的值 给了这个参数就如同执行Array.from(obj).map(mapFn, thisArg)一样
第三个 是执行回调函数 mapFn
时 this
对象。
伪数组
mdn上有描述,我就直接搬过来了。
- 伪数组对象(拥有一个
length
属性和若干索引属性的任意对象) 伪数组对象和可迭代对象完全没有一毛钱的关系啊。
再看前面的代码, 使用了from方法,传了两个参数,第一个是个对象,它有length属性,符合伪数组的定义,可见若干可以为零。第二个就是一个回调函数。
函数的length
我们知道函数的length代表了形参的个数。但是
所以,可选参数不计入length? 我们来试试
真的耶。看来Length属性并不是完全靠得住,或说length属性应是必要参数的个数