队列操作

队列(list)操作包括以下几种。

  • head: 取出队列的第一个非空成员。
  • last: 取出有限队列的最后一个非空成员。
  • tail: 取出除了“队列头”以外的其他非空成员。
  • init: 取出除了“队列尾”以外的其他非空成员。

下面是例子。

  1. f.head(5, 27, 3, 1) // 5
  2. f.last(5, 27, 3, 1) // 1
  3. f.tail(5, 27, 3, 1) // [27, 3, 1]
  4. f.init(5, 27, 3, 1) // [5, 27, 3]

这些方法的实现如下。

  1. let f = {};
  2. f.head = (...xs) => xs[0];
  3. f.last = (...xs) => xs.slice(-1);
  4. f.tail = (...xs) => Array.prototype.slice.call(xs, 1);
  5. f.init = (...xs) => xs.slice(0, -1);