coffeescript / backbone.js:编写一个对字符串进行操作的哈希函数

时间:2013-11-04 08:41:16

标签: javascript backbone.js coffeescript

我在backbone.js中有一个简单的函数,用于在选择菜单项(此处称为“按价格排序”)后对集合中的项目进行排序:

   setSort: (event)->
        event.preventDefault()
        event.stopPropagation()
        $target = $(event.target)
        switch $target.text()
            when "Sort by Price"
                @collection.comparator = (model)->
                    model.get("Price")
                @collection.sort()

非常简单 - 它从集合中的各个模型中获取Price属性,然后对它们进行排序。这部分有效。

现在我想要一个不同的字段,Name属性(一个字符串)并在其上运行任意哈希以模拟任意排序。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

如果您想要随机排序,您可以直接进行

@collection.comparator = Math.random

如果目标只是随机化,则无需散列字符串。

当然,每次调用sort()时,上述内容都会更改排序顺序(包括将新模型添加到集合中时)。因此,如果您确实希望每次都进行相同的“随机”排序,则可以使用随机数设置属性,或者尝试the answers here之类的计算哈希值。