类数组对象具有数组对象的一些属性,比如length,可以遍历但是不能使用数组对象的方法,常见的类数组对象就是function的参数变量arguments,还有NodeList,以下是将类数组对象转化为数组对象:
var a = {
length: 3,
0: {
key: 1
},
1: {
key: 3
},
2: {
key: 2
}
};
console.log(a);
function hyToArray(a) {
try {
return Array.prototype.slice.call(a);
} catch (err) {
//IE中
var b = [];
for (var i = 0; i < a.length; i++) {
b.push(a[i]);
}
return b;
}
};
console.log(hyToArray(a).sort(function(a, b) { return a.key - b.key; }));