单个 属性

Node single
重写方法

检查这个可迭代表仅有一个元素,并返回该元素。

如果 this 为空或包含超过一个元素,将抛出 StateError 异常。此操作将不会迭代到第二个元素。

实现

Node get single {
  int len = this.length;
  if (len == 1) {
    return JS('Node', '#[0]', this);
  }
  if (len == 0) throw new StateError("No elements");
  throw new StateError("More than one element");
}