在NodeList和数组间,遍历数据,实现对应数组的删除,但是,只能通过index。

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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值