gpt4 book ai didi

javascript - _.function() 版本下划线的 _.property() 函数

转载 作者:行者123 更新时间:2023-11-30 07:39:04 25 4
gpt4 key购买 nike

Underscore 有一个对象函数 _.property(key) 返回一个函数,该函数本身返回任何传入对象的“键”属性。例如:

var moe = {name: 'moe'};
var propFunction = _.property('name');
var value = propFunction(moe);
=> 'moe'

我想知道除了对象的属性之外,Underscore 是否有一种好的方法可以通过对象的函数获得相同的行为。我很确定它没有一个单一的功能,但我想知道是否有一些合理的功能组合在一起可以完成我想要的事情。例如:

var moe = {getName: function() { return 'moe'; }};
var funcFunction = _.underscoreGoodnessHere('getName');
var value = funcFunction(moe);
=> 'moe'

这将删除一些伪真实代码中的一些样板文件,我是这样的:

this.collection.filter(function(model) { return model.isHidden(); });
// could change to this:
this.collection.filter(_.underscoreGoodness('isHidden'));

对于它的值(value),如果没有一个很好的方法来完成我所要求的,但你仍然有更好的方法来编写我上面的伪真实代码,我仍然很想听听!

最佳答案

您正在寻找 Underscore 在 _.invoke() 中使用的回调函数- 但这不是公开的。您可以自己轻松构建它:

_.method = function(name) {
var args = _.tail(arguments),
isFunc = _.isFunction(name);
return function(value) {
return (isFunc ? name : value[name]).apply(value, args);
};
};

关于javascript - _.function() 版本下划线的 _.property() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22204329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com