gpt4 book ai didi

javascript - 循环运行对象属性函数

转载 作者:行者123 更新时间:2023-11-28 01:51:20 24 4
gpt4 key购买 nike

我正在迭代一个对象并将属性名称与给定参数进行比较;如果有匹配,我希望执行属性函数。除了明确地调用它之外,我该如何调用它?

对象:

@headers =
'foo': (obj)->
# do stuff

常规:

resolve: ('foo', item, obj)->
for prop of @headers
if prop == arguments[0]
# execute obj's foo property

最佳答案

好吧,您需要命名第一个参数,因为 CoffeeScript 不希望那里有字符串。

但是,如果我理解正确的话,您可以在 Operators and Aliases 之后使用 ? "existential"运算符(记录在 member operator 的子部分中) :

resolve: (prop, item, obj)->
if @headers[prop]?
obj[prop]()

这将编译为:

resolve: function(prop, item, obj) {
if (this.headers[prop] != null) {
return obj[prop]();
}
}

而且,如果您还想测试 obj 上的方法,可以将 ? 放在成员运算符和参数/调用括号之间:

obj[prop]?()

关于javascript - 循环运行对象属性函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19666967/

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