Underscore.js中有个sortBy函数,可以支持数组和对象按照某一个字段的排序:
代码如下 | 复制代码 |
var ret = _.sortBy([5, 2, 3, 4, 1], function(num) { return num; }); >> [1, 2, 3, 4, 5] |
但是如果要进行逆序显示的话,underscore.js还没透明的支持reverse操作.这里其实可以借用对要排序的元素取负
代码如下 | 复制代码 |
var ret = _.sortBy([5, 2, 3, 4, 1], function(num) { return - num; }); >> [5, 4, 3, 2, 1] |
这样就可以很方便得实现逆序操作.
sortBy的强大之处在于对于对象其中某个元素的排序,如:
代码如下 | 复制代码 |
var ret = _.sortBy([{ name: "提", index: 2 }, { name: "琴", index: 1 }, { name: "疯", index: 4 }, { name: "之", index: 3 }], function(data) { return - data.index; }); >> [{ name: '疯', index: 4 }, { name: '之', index: 3 }, { name: '提', index: 2 }, { name: '琴', index: 1 }] |
可能我的语言表达能力有限啊,说prototype.js 的 sortBy的时候硬是不知怎么用文字表达为好.
害得大家那么辛苦看我写的解说代码,实在是不好意思!
时间: 2024-09-26 15:54:23