类数组转数组的一些方法

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


 
posted @ 2018-10-22 11:09  徐念念  阅读(288)  评论(0编辑  收藏  举报