xuniannian
数组:
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


 

分类:

技术点:

相关文章: