返回介绍

Lazy

发布于 2019-05-31 13:12:51 字数 1886 浏览 1030 评论 0 收藏 0

Wraps an object and returns a Sequence. For null or undefined, simply returns an empty sequence (see Lazy.strict for a stricter implementation).

  • For arrays, Lazy will create a sequence comprising the elements in the array (an ArrayLikeSequence).
  • For objects, Lazy will create a sequence of key/value pairs (an ObjectLikeSequence).
  • For strings, Lazy will create a sequence of characters (a StringLikeSequence).

Signature

function Lazy(source) { /*...*/ }
function Lazy(source) {
  if (isArray(source)) {
return new ArrayWrapper(source);

  } else if (typeof source === "string") {
return new StringWrapper(source);

  } else if (source instanceof Sequence) {
return source;
  }

  if (Lazy.extensions) {
var extensions = Lazy.extensions, length = extensions.length, result;
while (!result && length--) {
  result = extensions[length](source);
}
if (result) {
  return result;
}
  }

  return new ObjectWrapper(source);
}
NameType(s)Description
sourceArray|Object|string

An array, object, or string to wrap.

returnsSequence

The wrapped lazy object.

Examples

Lazy([1, 2, 4])       // instanceof Lazy.ArrayLikeSequence
Lazy({ foo: "bar" })  // instanceof Lazy.ObjectLikeSequence
Lazy("hello, world!") // instanceof Lazy.StringLikeSequence
Lazy()                // sequence: []
Lazy(null)            // sequence: []

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文