是否可以使用下划线_.filter?
执行此类操作self.getCols = function (columnId) {
return cols = _.filter(self.model.cols(), function(c) {
return (
(c.Id === self.model.Id()) &&
((columnId === undefined) ? '' : c.columnId === columnId)
);
});
};
现在我在columnId上使用的条件无效。对不起,我只是以适当的方式进行了编辑。
答案 0 :(得分:0)
pop.delegate = self;
并不真正关心你在回调中做什么,只要你返回一个truthy(包括当前项)或falsy(排除当前项)。
至于表达式,只有在以下情况下才是真的:
filter
c.Id === self.model.Id()
存在columnId
等于columndId
。所以我们这样写:
c.columnId
答案 1 :(得分:0)
在这种情况下,您的回报应该是(我认为):
return c.columnID || c.Id === self.model.ID();
假设您指定了'列'被解释为Id
属性等于self.model.ID()
答案 2 :(得分:0)
我不确定如何处理self.model.Id()
,但我认为这与您描述的内容(包括评论)有关:
self.getCols = function getCols (columnId) {
var cols = self.model.cols();
if (columnId === undefined) {
return cols;
}
return _.filter(cols, function (c) {
return c.columnId === columnId;
});
}