JSRUN 用代码说话

归纳数组

编辑教程

归纳数组

问题

把对象数组归纳为一个值,类似于Ruby中的reduce()和reduceRight()。

解决方案

可以使用一个匿名函数包含Array的reduce()和reduceRight()方法,保持代码清晰易懂。这里归纳可能会像对数值和字符串应用+运算符那么简单。

[1,2,3,4].reduce (x,y) -> x + y
# => 10

["words", "of", "bunch", "A"].reduceRight (x, y) -> x + " " + y
# => 'A bunch of words'

或者,也可能更复杂一些,例如把列表中的元素聚集到一个组合对象中。

people =
    { name: 'alec', age: 10 }
    { name: 'bert', age: 16 }
    { name: 'chad', age: 17 }

people.reduce (x, y) ->
    x[y.name]= y.age
    x
, {}
# => { alec: 10, bert: 16, chad: 17 }

讨论

Javascript 1.8中引入了reduce和reduceRight ,而Coffeescript为匿名函数提供了简单自然的表达语法。 二者配合使用,可以把集合的项合并为组合的结果。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟