错误示范,splice直接删除元素,数组会变短,循环会丢失删除元素的后一个元素
var arr = ['a', 'b', 'c', 'a', 'a', 'd']
arr.forEach((item, index) => {
if (item === 'a') {
item.splice(index, 1)
}
})
// arr = ['b', 'c', 'a', 'd']
正确方法之一
let arr = ['a', 'b', 'c', 'a', 'a', 'b']
arr.forEach((item, index) => {
if (item === 'a') {
delete arr[index]
}
})
// arr = [, 'b', 'c', , , 'd']
arr = arr.filter(function (val) {
return val
}
// arr = ['b', 'c', 'd']