js小算法:一个数组中如果有null,则用这个null附近的点代替

110 阅读1分钟

let num = [11,22,33,44,55,null,null,null,77,88,null,null]

function cale(arr) {
    if (arr.every(item => item === null)) {
        console.log('这个数组里面的值都是null')
        return
    }
    for (let i=0; i<num.length; i++) {
        if (arr[i] === null) {
            let afterArr = arr.slice(i, arr.length)
            if (afterArr.every(item => item === null)) {
                let beforArrRe = arr.slice(0, i).reverse()
                for (let k=0; k<beforArrRe.length; j++) {
                    if (beforArrRe[k] !== null) {
                        arr[i] = beforArrRe[k]
                        break
                    }
                }
            } else {
                for (let j=i; j<arr.length; j++) {
                    if (arr[j] !== null) {
                        arr[i] = arr[j]
                        break
                    }
                }
            }
        }
    }
    return arr
}