扁平化数组

56 阅读1分钟

给定数组[1,2,3,[4,5,6,[7,8,[9,10]]]]将其扁平化为[1,2,3,4,5,6,7,8,9,10]

思路:for循环依次判断元素是否为数组,是数组则使用concat()方法将数组进行拼接;若不是则使用push()方法将元素直接添加至数组中

var arr = [1,2,3,[4,5,6,[7,8,[9,10]]]];
function fun(arr){
    var newArr = [];
    for(i=0;i<arr.length;i++){
        //判断当前数据类型是否是数组
        if(Array.isArray(arr[i])){
            //若为数组 则调用concat方法 将当前数组拼接到新数组中
            newArr = newArr.concat(fun(arr[i]));
        }else{
            //若不为数组 则直接将元素添加到新数组中
            newArr.push(arr[i]);
        }
    }
    return newArr;
}
console.log(fun(arr));