数组去零的方法

110 阅读1分钟

for 循环 + push()

let arr = [12, 0, 23, 0, 45, 0, 0, 19, 25]
let newArr = []
for (let i = 0; i < arr.length; i++) {
    if (arr[i] !== 0) {
        newArr.push(arr[i])
    }
}
console.log(newArr)//[ 12, 23, 45, 19, 25 ]

for 循环 + splice()

let arr = [12, 0, 23, 0, 45, 0, 0, 19, 25]
for (let i = 0; i < arr.length; i++) {
    if (arr[i] === 0) {
        arr.splice(i, 1)
    }
    i--//重点
}
console.log(arr)

forEach 遍历 + push()

let arr = [12, 0, 23, 0, 45, 0, 0, 19, 25]
let newArr = []
arr.forEach(item => {
    if (item !== 0) {
        newArr.push(item)
    }
})
console.log(newArr)//[ 12, 23, 45, 19, 25 ]

filter()

let arr = [12, 0, 23, 0, 45, 0, 0, 19, 25]
let newArr = arr.filter(item => item !== 0)
console.log(newArr)//[ 12, 23, 45, 19, 25 ]