【问题标题】:node.js utility library for working with objects and arrays?用于处理对象和数组的 node.js 实用程序库?
【发布时间】:2016-09-03 02:12:44
【问题描述】:

是否有很好的实用程序库来处理对象和数组。

例如函数,如:extend、forEach、复制对象/数组等,

node.js 环境中常见的是什么?我想知道 underscore.js 有没有像样的替代品?

【问题讨论】:

    标签: javascript node.js utility


    【解决方案1】:

    underscore.js 是这类东西的一个很好的默认值。 Here's a thread 关于可能很方便的兼容性问题。

    编辑,根据您的要求提供下划线以外的内容:

    据我所知,当您正在寻找额外的数组操作(很像 jQuery 用于 DOM 操作)时,下划线已成为事实上的标准。 Joyent 维护了一个相当 thorough manifest 的 node.js 兼容模块,唯一看似可比较的实用程序似乎是一个强调柯里化的 experimental library called fjs(从源代码来看,大部分功能都来自于扩展下划线函数) )。那里可能还有其他东西,但据我所知,下划线的渗透力和成熟度一无所知。

    还有一个编辑 - 如果您很好奇,这里有一些较旧的库,但它们的维护有所下降 - valentinewu.jsFunctionalSugar。功能性和情人节可能会瘦一点; wu.js 看起来差不多,而且糖更胖。

    【讨论】:

    • 谢谢,它与node.js完全兼容吗? underscore 最初是作为客户端库开发的
    • 哦,我没有看到你的答案的链接=)
    • 嘿别担心,这是事后的编辑。我意识到他们可能会混淆下划线的使用位置,因此澄清一下会很有用。
    • 其实我知道下划线,不知道有没有替代品。
    • 您对下划线有什么特别的疑虑,或者您只是想确定该字段的范围?
    【解决方案2】:

    lodash 是您可能还想考虑的“下划线.js 的替代品*”。

    Lo-Dash v0.7.0 至少在 Chrome 5-21、Firefox 1-15、IE 6-9、Opera 9.25-12、Safari 3-6、Node.js 0.4.8-0.8.8 中进行了测试、独角鲸 0.3.2、RingoJS 0.8 和 Rhino 1.7RC5

    【讨论】:

      【解决方案3】:

      具体扩展,可以使用Node内置的util._extend()函数。

      var
        extend = require('util')._extend,
        x = {a:1},
        y = extend({}, x);
      

      Node的_extend函数源码:https://github.com/joyent/node/blob/master/lib/util.js#L563

      【讨论】:

      • 谢谢,但就未来的兼容性而言,我认为使用未记录的内部函数并不是最好的决定。
      • 我询问了节点维护者,他们认为它不会很快发生。 github.com/joyent/node/pull/4834
      【解决方案4】:

      看看 Ramdajs:http://ramdajs.com/0.22.1/index.html

      Ramda 的主要特点是:

      • Ramda 强调更纯粹的功能风格。不变性和 无副作用功能是其设计理念的核心。 这可以帮助您使用简单、优雅的代码完成工作。

      • Ramda 函数是自动柯里化的。这使您可以轻松 只需不提供最终功能即可从旧功能构建新功能 参数。

      • Ramda 函数的参数排列方便 用于咖喱。要操作的数据一般最后提供。

      最后两点一起使构建函数变得非常容易 一系列更简单的函数,每个函数都转换数据和 将它传递给下一个。 Ramda 旨在支持这种风格 编码。

      【讨论】:

      • 感谢使用它;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-22
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多