2017-03-02 152 views
-1

我想過濾集合並返回新列表,以便可以呈現給頁面。集合的下劃線/骨幹過濾

我已經創建集合本身一個新的功能,但嘗試,因爲我可能我不能得到第二個IF語句來計算,即使我知道肯定有一個匹配(靜態匹配)TRUE。

我甚至試過的typeof,以確保沒有跳閘的事情了。

任何人都可以讓我知道我錯過了什麼。

var DisciplinesCollection = Backbone.Collection.extend({ 
model: Discipline, 
filterByCategory: function(cat){ 
    this.each(function(item){ 
    var category = item.attributes.category 
    console.log(category, cat) 
    if ('intermediate' == cat){ 
     console.log('static match') 
    } 
    if (category == cat){ 
     console.log('dynamic match') 
    } 
    }); 
} 

});

+0

似乎按預期工作https://jsfiddle.net/tvfspxtg/1/ – nikoshr

+0

順便說一句,使用'item.get('category')'是比'item.attributes.category'更好的做法 –

回答

0

我想我的問題是類參數是用空格分隔的潛在類別列表的字符串。一旦我將這些項目移動到嵌套對象中,我的代碼正常工作。對任何人感興趣的最終代碼示例:

var DisciplinesCollection = Backbone.Collection.extend({ 
model: Discipline, 
filterByCategory: function(cat){ 
    return _(this.filter(function(data) { 
    return _.contains(data.get("category"), cat);   
    })); 
} 

});