• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

CoffeeScript 归纳数组

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

归纳数组

问题

你有一个对象数组,想要把它们归纳为一个值,类似于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为匿名函数提供了简单自然的表达语法。二者配合使用,可以把集合的项合并为组合的结果。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
CoffeeScript 删除数组中的相同元素发布时间:2022-01-29
下一篇:
CoffeeScript 数组最大值发布时间:2022-01-29
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap