【问题标题】:Java Script Collection FrameworkJavascript 集合框架
【发布时间】:2012-05-30 06:34:31
【问题描述】:

就像 Java 有它的 Collection Framework 一样。 Javascript 中是否有可用的 api

我们可以将 JSON 对象存储在映射中的键值对和

它将具有排序功能和

大小可自动增长的列表或矢量功能

HashSet/TreeSet 功能用于存储重复的空闲 Json 对象或项。

编辑:

ListIterator 功能将在那里我们可以双向遍历。

它缺少的另一个功能是可以实现从数组中间删除项目,以便在之后重新排列。

比较器设施将是一个额外的优势。

【问题讨论】:

    标签: java javascript collections


    【解决方案1】:

    没有。大多数这些功能都是 JavaScript 原生的。

    • 每个 javascript 对象都只是键值对(而且,主要是一个原型......) - 你知道 JavaScriptObjectNotation?
    • 列表和向量都被自动增长的原生 Array 类型所覆盖
    • 所有数组都继承 sort() 方法,并提供自定义比较器方法
    • ... 你不需要很长时间就能找到一个从对象/数组中删除重复项的 sn-p。即使使用自定义比较器。
    • (已编辑):所有 Arrays 都继承 splice() 方法以从 indizes 中删除项目
    • ListIterators:从 ES5.1 开始,所有的数组都有iteration methods,这与 JavaScript 的函数式方法配合得很好

    然而,有一些库可以扩展这些功能。例如。 underscore.js 将对象和数组都视为可迭代的集合,存在用于通过非字符串键等存储值的 HashMap 实现。此外,几乎所有 MVC 框架都实现了自己的集合对象(用于模型)以跟上变化在他们身上。

    【讨论】:

      【解决方案2】:

      我已经用任意键实现了HashTable,在我的jshashtable 中实现了HashSet

      【讨论】:

        【解决方案3】:

        ExtJs(肯定)和(我认为)jQuery 具有这样的功能。

        【讨论】:

          【解决方案4】:

          试着看看 Backbone JS 我认为你可以使用它的模型和集合。 网址http://backbonejs.org/和教程在这里http://backbonetutorials.com/

          谢谢,

          苏丹

          【讨论】:

            【解决方案5】:

            Javascript 的内置数组是“自动增长的”,实际上与您从 Java 中的 Collection 获得的功能非常相似。

            如果您需要类似 HashSet 的东西,您可以查看 TaffyDB,它应该是 Javascript 的“数据库”,但我认为它可以在内存中工作。

            【讨论】:

              【解决方案6】:

              您可以使用下面提到的库。只需npm install collectiondatalib

              功能www.npmjs.com/package/collectiondatalib

              它非常易于使用,并且所有集合搜索和排序方法都可用。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2010-12-11
                • 2012-07-18
                • 2010-11-24
                • 1970-01-01
                • 1970-01-01
                • 2011-08-23
                • 2011-03-31
                • 1970-01-01
                相关资源
                最近更新 更多