找到最大数量的骨干系列?

时间:2013-12-21 08:33:54

标签: backbone.js

playersCollection.each(function(player) {
    // how do I determine the model with the largest attribute
    player.get('points') // this is the attribute
    //Not sure what to write to filter through all the models with this attribute 
    //Then return the object that is the largest?
});

假设有三个模型,每个模型都有一个点属性6,10,21我如何过滤它们并返回一个21(集合中最大数字)。

很简单,但我不确定使用哪种方法,以及如何在此上下文中使用http://backbonejs.org/

对大多数人来说应该很简单吗?

1 个答案:

答案 0 :(得分:4)

下划线的max方法就是解决方案。

由于Backbone Collection合并了一些Underscore方法,包括max,你可以直接在Collection实例上使用它。

playersCollection.max(function(player){
  return player.get('points');
});

// => {name: 'Joe', points: 21};

请参阅此处的演示:http://jsbin.com/ACAcALak/2/edit?html,js,console

参考:

  1. http://backbonejs.org/#Collection-Underscore-Methods
  2. http://underscorejs.org/#max