一个原生js数组拉平小技巧
给大家分享一个自己写的原生js数组拉平,由于是Array原型链的扩展,只要引入代码后,数组都能调用到这个方法
Array.prototype.flatArr = function(){
var arr = [];
//定义hanle函数方便递归
function hanle(s){
for(var i=0,j=s.length;i<j;i++){//历遍数组
if(Object.prototype.toString.call(s[i]) == "[object Array]"){//判断是否为数组
hanle(s[i]);//递归调用
}else{
arr.push(s[i]);//添加进新数组
}
}
}
hanle(this);//this指向Array
return arr;
}
console.log([1,[2,3,[4,5]]].flatArr());//输出[1,2,3,4,5]
希望大家喜欢这个分享