判断真伪数组
var a = [1,2,3]; //真数组
var b = {0:'a',1:'b',2:'c',length:3}; //伪数组
typeof a //object
typeof b //object
//第一种方式
a instanceof Array //true
b instanceof Array //false
//第二种方式 利用数组和对象的toString方法输出结果不同
a.toString() //"1,2,3"
b.toString() //"[object Object]"
({}).toString.call(a) //"[object Array]"
({}).toString.call(a) //"[object Object]"
真数组转伪数组 利用push
var a = [1,2,3]; //真数组
var obj = {};
[].push.apply(obj,a);
console.log(obj);//{0: 1, 1: 2, 2: 3, length: 3} 成功转化
伪数组转化为真数组 利用slice
var b = {0: 1, 1: 2, 2: 3, length: 3} //伪数组
var res = [].slice.call(b);
console.log(res); // [1, 2, 3] 成功转换