我们可以理所当然地用数组去构建队列,上述例子也没有功能错误,但我要提出两点糟粕:语义与阅读、IDE 提示。在语义与阅读上,我们构建出来的数据依然是数组,它可以使用数组本就存在的任意方法,push 和 shift 只是恰巧满足需要。IDE 的编码提示也是如此,它会从上下文得知,我们在操作数组。
请各位回过头来再读这句短语“数据结构与算法”,我们是在跟数据结构打交道,数组或队列都是数据结构中的一种,队列同样值得认真对待,每一种数据结构都应该认真对待。在 JavaScript 中,数组有一种创建方式是使用构造器,所以,我们也为队列编写一个类,以下是我的参考代码:
