数组:
var array = [\'name\', \'age\', \'sex\'];
类数组:
var arrayLike = {
0: \'name\',
1: \'age\',
2: \'sex\',
length: 3
}
如果类数组就是任性的想用数组的方法怎么办呢?
既然无法直接调用,我们可以用 Function.call 间接调用:
var arrayLike = {0: \'name\', 1: \'age\', 2: \'sex\', length: 3 }
Array.prototype.join.call(arrayLike, \'&\'); // name&age&sex
Array.prototype.map.call(arrayLike, function(item){
return item.toUpperCase();
});
数组转类数组的四种方法:
Array.prototype.slice.call(arrayLike, 0); // ["name", "age", "sex"]
// slice可以做到类数组转数组
Array.prototype.slice.call(arrayLike); // ["name", "age", "sex"]
Array.prototype.splice.call(arrayLike,0)
Array.from(arrayLike);
Array.prototype.concat.apply([], arrayLike)
文章来源:https://github.com/mqyqingfeng/Blog/issues/14