let items = document.querySelectorAll('class类'); //nodelist
let arr = [1,2,3,4,5,6,7,8,9]; //对象数组
let number = []
//先找到需要剔除掉node的index
items.forEach((ele,index)=>{
if(判断需要剔除的对应node){
number.push(index)
}
})
//通过filter一次性操作数组
let result = arr.filter((ele,index)=>{
return !number.includes(index) //返回一个true
})
//重新赋给arr
arr = result;
注意:
NodeList属于类数组,不能直接使用filter。
如果在foreach里面直接嵌套一个数组的splice方法,存在顺序错乱的问题。因为此时arr的index是会改变的,例如:
let arr = [0,1,2,3,4,5,6,7,8,9]
//NodeList中也存在10个node,需要剔除node的对应序列是1和3,我想剔除数组的1和3,在nodelist下foreach的嵌套一个splice。第一次的foreach会删除掉数组的数字0,第二次foreach会删除掉数组的数字4。