返回

javascript——为什么我的 JS 队列只返回第一个单词而不是整个字符串?

发布时间:2022-09-08 01:44:34 305
# 前端

为什么它只出队“第一”而不是“第一行”?正如你在下面的测试结果中看到的,期望值是“first in line”,但接收到的值只是“first”,这是怎么回事?

这是我的队列类:

function Queue() {}

Queue.prototype.arr = [];
Queue.prototype.sz = 0;

Queue.prototype.enqueue = function(n) {
  this.sz++;
  this.arr.push(n);
}

Queue.prototype.dequeue = function() {
  if(this.sz === 0) {
  return undefined;
  }
  else if(this.sz > 0){
  this.sz--;
  return this.arr.shift();
  }
}

Queue.prototype.size = function() {
  return this.sz;
}

这是我的测试:

it('returns queued string', function() {
    queue.enqueue('first in line');
    expect(queue.size()).toBe(1);
    expect(queue.dequeue()).toBe('first in line');
  });

这是测试结果:

● returns queued string

    expect(received).toBe(expected) // Object.is equality

    Expected: "first in line"
    Received: "first"

      76 |     queue.enqueue('first in line');
      77 |     expect(queue.size()).toBe(1);
    > 78 |     expect(queue.dequeue()).toBe('first in line');
         |                             ^
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像