深度遍历和广度遍历html DOM

深度优先和广度优先是两种很基础的算法,在对算法不是那么看重的前端中依然有着它们的身影。下面是两种算法在遍历html DOM时的应用。

<html>
<head>
	<title>深度遍历以及广度遍历测试算法</title>
</head>
<body>
	<div class="container">
		<div class="node_1">
			<div class="node_1_1"></div>
			<div class="node_1_2"></div>
			<div class="node_1_3"></div>
		</div>
		<div class="node_2">
			<div class="node_2_1"></div>
			<div class="node_2_2"></div>
		</div>
		<div class="node_3"></div>	
	</div>
	<script type="text/javascript">
		// 广度优先
		// const parentDOM = document.querySelector('.container');
		// function breathTravalSal(node){
		// 	const nodes = [];
		// 	const stack = [];
		// 	if(node){
		// 		stack.push(node);
		// 		while(stack.length){
		// 			const item = stack.shift();
		// 			nodes.push(item);
		// 			for(const v of item.children){
		// 				stack.push(v);
		// 			}
		// 		}
		// 	}
		// 	return nodes;
		// }
		// console.log(breathTravalSal(parentDOM));
		
		//深度优先
		// const parentDOM = document.querySelector('.container');
		// function  deepTravalSal(node){
		// 	const nodes = [];
		// 	const stack = [];
		// 	if(node){
		// 		stack.push(node);
		// 		while(stack.length){
		// 			const item = stack.pop();
		// 			const len = item.children.length;
		// 			nodes.push(item);
		// 			for(let i = len - 1; i >= 0; i--){
		// 				stack.push(item.children[i])
		// 			}
		// 		}
		// 	}
		// 	return nodes;
		// }
		// console.log(deepTravalSal(parentDOM));
	</script>
</body>
</html>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值