// 什么是类数组对象?
/*
键值从0开始,依次累加,并有length属性
常见的类数组对象:
1、arguments
2、var nodeList = document.querySelectorAll("div");
这个 nodeList 就是个类数组对象
3、类数组和数组的异同:
同:获取元素使用枚举法:nodeList[0]
异:console.log(nodeList instanceof Array)返回false也就是说它并不是数组的实例,也就不是数组,本质还是对象
*/
// 转换的几种方法
// 1、使用Array原型的方法
var a = {0:0,1:1,2:2,length:3};
var arr = Array.prototype.slice.apply(a);
console.log(arr);
// 2、只要有length属性的对象,都可以应用此方法转换成数组。
var arr2 = Array.from(a);
console.log(arr2);
// 3、使用解构的方法
var [...arr3] = {"0":0,"1":1,"2":2,"length":3};
console.log(arr3);
// $.makeArray() jQuery的此方法可以将类数组对象转化为真正的数组
var arr = $.makeArray(arguments);
网友评论