你不知道的 JavaScript 系列中( 5 ) -类数组
有时候需要将类数组(一组通过数字索引的值)转换成真正的数组,这一般通过数组工具函数来实现,例如,一些 DOM 查询操作会返回 DOM 元素列表,它们并非真正意义的数组,但十分类似。另一个例子是通过 arguments 对象(类数组)将函数的参数当作列表来访问
工具函数 slice(...) 经常用于这类转换
function foo() { var arr = Array.prototype.slice.call(arguments); arr.push('bam'); console.log(arr); } foo('bar', 'baz'); // ['bar', 'baz', 'bam'];
如上所示,slice() 返回参数列表的一个数组复本。用 ES6 中内置工具函数 Array.from(...) 也能实现同样的功能
var arr = Array.from(arguments);
Array.from() 有一些非常强大的功能,将在下卷 ES6 中介绍