我有一个看起来像这样的对象:
object =
title : 'an object'
properties :
attribute1 :
random_number: 2
attribute_values:
a: 10
b: 'irrelevant'
attribute2 :
random_number: 4
attribute_values:
a: 15
b: 'irrelevant'
some_random_stuff: 'random stuff'
我想提取attribute1 和attribute2 上'a' 值的总和。
在 Coffeescript 中执行此操作的最佳方法是什么?
(我已经找到了一种方法来做到这一点,但这看起来像是 Java 翻译成咖啡,我希望有一个更优雅的解决方案。)
最佳答案
这是我想出的(根据评论编辑为更通用):
sum_attributes = (x) =>
sum = 0
for name, value of object.properties
sum += value.attribute_values[x]
sum
alert sum_attributes('a') # 25
alert sum_attributes('b') # 0irrelevantirrelevant
所以,这可以满足您的需求……但它可能无法完全满足您对字符串的需求。
您可能希望传入累加器种子,例如
sum_attributes 0, 'a'
和 sum_attributes '', 'b'
关于json - 如何总结咖啡脚本中 JSON 对象的属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7505670/