用splice方法删除数组下面元素会有问题,是index导致的
let arr = [{xxx:[1,2,3]},{xxx:[]},{xxx:[4,5,6]},{xxx:[11]},{xxx:[55]},{xxx:[]},{xxx:[]},{xxx:[88]}]
arr.forEach((item,index)=>{
if (item['xxx'].length==0) {
arr.splice(index,1)
}
})
//输出结果是 [{xxx:[1,2,3]},{xxx:[4,5,6]},{xxx:[11]},{xxx:[55]},{xxx:[]},{xxx:[88]}] //发现还有一个没删除成功
用倒序就行了,至少下标不会被改变,感谢各位大牛回答