JavaScript对嵌套数组做扁平化处理

来源:互联网 发布:windows10 mac主题 编辑:程序博客网 时间:2024/06/05 20:18
function flatten(array){    var result = [];var toStr = Object.prototype.toString;    for(var i=0;i<array.length;i++){var element = array[i];        if(toStr.call(element) === "[object Array]"){            result = result.concat(flatten(element));        }        else{            result.push(element);        }    }    return result;}

这个实现没有使用ES较高版本的API,所以可以兼容低版本浏览器。

如果不考虑兼容,可以使用ES5中数组的reduce方法来替代循环。

还可以使用数组的isArray方法来判断是否为数组。

以此达到简短代码的目的。

原创粉丝点击