关于两个栈实现一个队列代码的疑问

来源:2-8 用两个栈实现一个队列

weixin_宝慕林8180759

2022-04-30

代码中,有这么一段

while (stack1.length) {
	const n = stack1.pop();
	if (n != null) {
		stack2.push(n)
	}
}

其中n != null感觉没什么用啊,因为只有stack1不为空,才会执行这段代码,那么这段代码是否多余?

写回答

1回答

双越

2022-05-01

TS 的语法检查很严格,在 TS 看来数组的 pop 出来的元素有可能是 undefined 

所以,为了 TS 语法检查就加了这一句,也无碍

1
1
weixin_宝慕林8180759
我问完,自己写了一遍,就发现问题了,pop返回值可能是null嘛,所以需要判断。
2022-05-01
共1条回复

2周刷完100道前端优质面试真题 双越最新力作

『前端面试真题100道』视频详解

1509 学习 · 642 问题

查看课程