【发布时间】:2013-08-20 12:59:09
【问题描述】:
我有一个这样的 javascript 模型:
var scope = {
entries : [
{ label : 'one', value : 'first entry'},
{ label : 'two', value : 'second entry'},
{ label : 'a', value : 'x'}
],
order : 'label'; // may also contain 'value'
}
现在我想根据 order 的值对条目进行排序并缓存它。
我知道使用闭包的方式:
_.memoize(
function() {
return _.sortBy( scope.entries, scope.order);
},
_.partial( _.result, scope, 'order')
)
是否可以将调用 _.sortBy 的闭包替换为类似于第二个参数(由 _.partial 生成的函数)之类的东西?
要明确:我想要的是一种声明“排序顺序”内容而不将其包装在函数中的方法。所以它看起来像:
_.memoize(
// line below doesnt work, just to clarify what i want :-)
_.sortBy( scope.entries, _.result( scope, 'order')),
_.partial( _.result, scope, 'order')
)
【问题讨论】:
标签: underscore.js lodash