初识“类数组”

字面意思,像数组,但其实不是数组,我理解就是个有特殊key值的map,所以它没有数组的方法。

javascript中最常见的类数组有函数体内的arguments对象和DOM方法的返回结果( 比如document.getElementsByTagName())。

特征:

1. 应该有特殊key值-“length”,并且是数字型或可以转换城数字型的值

2.应该有特殊key值-0/1/2……,也要是数字型或可以转换城数字型的值

但根据定义,只要满足特征1,那它就是类数组了,但如果没有特征2,那我觉得就没有什么操作意义了。

应用:

将类数组转为普通数组

var a = {'0':1,'1':2,'2':3,length:3};
// 可以直接用数组原型方式调用
[].join.call(a, ','); // 1,2,3
// 也可以转成数组后使用
var arr = [].slice.call(a); [1,2,3]
原文地址:https://www.cnblogs.com/liyongquan/p/8496221.html