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

coffeescript / backbone.js: write a hash function that operates on a string

本文关键字:字符串 一个 操作 函数 哈希 js backline coffeescript      更新时间:2023-09-26

我在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属性(一个字符串(,并在它上运行一个任意哈希,以模拟任意排序。我该如何做到这一点?

如果你想要随机排序,你可能只需要做

@collection.comparator = Math.random

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

当然,每次调用sort()时(包括向集合中添加新模型时(,以上内容都会更改排序顺序。因此,如果你每次都想要相同的"随机"排序,你可以用随机数设置一个属性,或者尝试类似这里的答案来计算哈希。