javascript - BackboneJS - 使用 _.max 方法从集合中获取特定值

标签 javascript json backbone.js underscore.js

我想从集合内的模型中获取特定值。集合按 ID (contest_id) 排序,该 ID 由数据库提供服务并以 JSON 形式交付。所以,JSON 看起来像:

data : [{
     "contest_id" : "3",
     "artist" : {
        "artist_name": "some name",
        "artist_cover" : "some image.jpg"
      }
    },
    "contest_id" : "1",
    ....
}]

现在,我已经把一些东西粘在一起了:

var contestImage = _.max(this.collection.toJSON(), function(cnt){
    return cnt.contest_id;
});

我得到了最高的contest_id,这就是我想要的,但是当我想抓取图像时我该如何进行?甚至显示它?

提前致谢...

最佳答案

max 方法实际上应该可以直接从您的 Backbone 集合中获取(虽然它是一个 Underscore 方法,但它混合到 Backbone 的集合中),这意味着您可以稍微简化您的代码。

像这样的事情应该可以解决问题:

var model = this.collection.max(function (cnt) {
    return cnt.contest_id;
});
var contest_id = model.get('contest_id');

第一部分返回您想要的模型,第二部分获取竞赛 ID 属性。

要获取艺术家封面属性,您可以将其转换为 JSON:

var artist_cover = model.toJSON().artist.artist_cover;

或者从模型中获取艺术家属性:

var artist_cover = model.get('artist').artist_cover;

关于javascript - BackboneJS - 使用 _.max 方法从集合中获取特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24449253/

相关文章:

ruby-on-rails - `status: :ok` 在 `render json:` (Rails) 中有什么作用

javascript - 单击时如何将类添加到其父 div

javascript - 在 Nashorn 中的特定上下文中执行函数

javascript - .net 按钮事件未通过 ajax 工具包 ModalPopupExtender targetcontrolid 属性触发

javascript - BackboneWhere 函数作用于作为对象的属性

backbone.js - 如何使用字符串作为键在模型(Backbone.js)中设置多个属性?

backbone.js - Mustache.js/Hogan.js 和 Backbone.js

javascript - 逐步淡入淡出无限滚动添加元素

json - Firebase 不断更改 JSON 文件

javascript - 查询 : How to Pass My JSON object from my first script to the second one?