Underscore.js框架中sortBy逆序理解实例

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

Underscore.js框架中sortBy逆序理解实例的相关文章

在Word 2010文档中使用逆序打印页面

所谓逆序打印即从Word文档页面的尾部开始打印文档,直至Word文档页面头部 .通过逆序打印方式打印完成的纸质文稿将按正常页码序排列,这对于页数较多 的Word文档而言更易整理纸质文稿.在Word 2010文档中设置逆序打印页面的步骤 如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件 "→"选项"命令,如图2011121301所示. 图 2011121301 单击"选项"命令 第2步,打开"Word选项"对话

全面解析JavaScript的Backbone.js框架中的Router路由_基础知识

Backbone 中的 Router 充当路由的作用,控制 URL 的走向,当在 URL 中使用 # 标签时生效. 定义 Router 至少需要一个 Router 和一个函数来映射特定的 URL,而且我们需要记住,在 Backbone 中,# 标签后的任意字符都会被 Router 接收并解释. 下面我们来定义一个 Router: <script> var AppRouter = Backbone.Router.extend({ routes: { "*actions": &

Backbone.js框架中Model与Collection的使用实例_基础知识

Model关于backbone,最基础的一个东西就是model,这个东西就像是后端开发中的数据库映射那个model一样,也是数据对象的模型,并且应该是和后端的model有相同的属性(仅是需要通过前端来操作的属性). 下面就从实例来一步一步的带大家来了解backbone的model到底是什么样的一个东西. 首先定义一个html的页面: <!DOCTYPE html> <html> <head> <title>the5fire-backbone-model<

如何在Word 2013中进行逆序打印

在Word2013中打印文档时,默认会按照从前往后的顺序进行打印.对于一些页数较多的文档,用户常常需要按照从后往前的顺序进行打印,即所谓的逆序打印.用户可以在Word2013中设置打印顺序为逆序打印,操作步骤如下所述: 第1步,打开Word2013文档窗口,依次单击"文件"→"选项"菜单命令,如图2013080801所示. 图2013080801 单击"选项"菜单命令 第2步,在打开的"Word选项"对话框中切换到"

怎样在Word2013中进行逆序打印

  第1步,打开Word2013文档窗口,依次单击"文件"→"选项"菜单命令,如图1所示. 图1 单击"选项"菜单命令 第2步,在打开的"Word选项"对话框中切换到"高级"选项卡,然后在"打印"区域选中"逆序打印页面"复选框,并单击"确定"按钮,如图2所示. 图2 选中"逆序打印页面"复选框 第3步,返回Word2013文档窗

Ext JS框架中日期函数的用法及日期选择控件的实现_extjs

Ext.Date是一个单例,封装了一系列日期操作函数,扩展JavaScript Date的功能,下面列出一些常用的功能. 基本函数: Ext.Date.add(date, interval, value) 给date增加或减少时间,这个函数不改变原有Date对象的值,而是返回一个新的Date对象. Ext.Date.between(date, start, end) 判断date是否在start和end之间. Ext.Date.clearTime(date, clone) 把date的时间设置成

一些主流JS框架中DOMReady事件的实现小结_jquery

原来比较常用的是window的onload 事件,而该事件的实际效果是:当页面解析/DOM树建立完成,并完成了诸如图片.脚本.样式表甚至是iframe中所有资源的下载后才触发的.这对于很多 实际的应用而言有点太"迟"了,比较影响用户体验.为了解决这个问题,ff中便增加了一个DOMContentLoaded方法,与onload相比,该 方法触发的时间更早,它是在页面的DOM内容加载完成后即触发,而无需等待其他资源的加载.Webkit引擎从版本525(Webkit nightly 1/20

详解Backbone.js框架中的模型Model与其集合collection_基础知识

什么是 ModelBackbone 的作者是这样定义 Model 的: Model 是任何一个 web 应用的核心,它包含了交互的数据以及大部分的逻辑.例如:转化.验证.属性和访问权限等. 那么,我们首先来创建一个Model: Person = Backbone.Model.extend({ initialize: function(){ alert("Welcome to Backbone!"); } }); var person = new Person; 上述代码中,我们定义了一

JavaScript的Ext JS框架中的GridPanel组件使用指南_extjs

1 最简单的Grid PanelGrid Panel是ExtJS的核心部分之一,通过Grid Panel可以对数据显示.排序.分组和编辑.Model和Store是Grid Panel处理数据的核心,每个Grid Panel都必须设置Model和Store.要创建Grid Panel,首先要定义Model,Model包括了Grid Panel所有需要显示的字段,相当于数据库中表字段的集合.Store可以看作是一行数据的集合或者是Model的实例集合,每个Store都包含一个或多个Model实例,G