1. 方法一 :递归
    2. function parseArr(arr,res){
    3. var i=0;
    4. for(i=0;i<arr.length;i++){
    5. if(arr[i] instanceof Array){
    6. parseArr(arr[i],res);
    7. }else{
    8. res.push(arr[i]);
    9. }
    10. }
    11. }
    12. var a=[1,[2,[3,4]],5,6];
    13. var res=[];
    14. parseArr(a,res);
    15. 方法二: 使用toString先变成一个字符串再使用split变成一个字符串数组
    16. (数组中的每个元素是一个字符串),最后使用map方法将数组中的每个元素返回为非字符串。
    17. var arr=a.toString().split(',').map(function(ele){
    18. return +ele;
    19. });
    20. alert(typeof arr[0]); //
    21. 方法三: 使用reduceconcat方法
    22. Array.prototype.flatten=function(){
    23. return this.reduce(function(prev, cur) {
    24. var moreArr = [].concat(cur).some(Array.isArray); //判断cur是不是一个数组
    25. return prev.concat(moreArr ? cur.flatten() : cur);
    26. },[]);
    27. };
    28. var arr=a.flatten();