js数组拉平(多维数组转一维数组)

120 阅读1分钟

多维数组转一维数组

自定义方法,使用递归

思路:

利用Object.property.toString.call()方法,判断数组内是否为数组,如果不是,则直接push到R这个数组内,如果是,则进入判断,在调用一遍这个方法

var arr = [1,2,3,[4,5,[6,7],8],9];
function arrUp(arr,R){
    let R = R || [];
    for(let i=0; i<arr.length; i++){
        if(Object.property.toString.call(arr[i]) == '[object Array]'){
            arrUp(arr,R)
        }else{
            R.push(arr[i])
        }
    }
    console.log(R)
    return R
}
arrUp(arr)