类数组对象转为数组的几种方法

// 什么是类数组对象?

/*

键值从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);

你可能感兴趣的:(类数组对象转为数组的几种方法)