本人学习过程中编写,定有美中不足,如果有错误,请您积极指正;如果有帮助,请不要吝啬您的赞美(点赞),欢迎各位大佬点赞评论。
什么是伪数组?
1.具备数组的一些特性: 按照索引方法存储数据,具有length属性 。
2.不能直接调用数组的一些方法: 如push(),pop()等方法
let array = [1,2,3,4,5]; //标准数组
let argument= {0:'a',1:'b',length:2} //标准的伪数组对象
两者输出
es5中伪数组的转换
//Array.prototype.slice.call()
let ary = [].slice.call(argument);
es6中伪数组的转换
//Array.prototype.from(arraylist,manFn,thisAry);
//arrayList伪数组
//manFn:遍历函数
//thisAry:如果manpn中指代了this,则this指向的就是该参数
let ary = Array.from(argument);
Array.from()的遍历功能:
//假如我们要初始化一个长度为5的数组,并为其赋值
//es5做法
let array = Array(5);
for(let i = 0,len = array.length;i < len;i++){
array[i] = 1;
}
console.log(array);
//es6做法
let ary = Array.from({ length:5 },function(){ return 1; });
console.log(array);
可以看出,这两者效果相同,但是es6的方法更加简单;