主要是借助了原生slice的方法。
var arr = { 0:'1', 1:'2', 2:'3', length:3 }; function toArray(arr){ return [].slice.call(arr, 0); } console.log(toArray(arr));
除此外,我们也可以这样实现
function makeArray(arr){ if(!arr) return []; var length = arr.length || 0, results = new Array(length); while(length -- ){ results[length] = arr[length]; } return results }