首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coffeescript: Splat求和函数

Coffeescript: Splat求和函数
EN

Stack Overflow用户
提问于 2014-12-16 00:36:48
回答 2查看 126关注 0票数 0

我是在雅虎接受采访时被问到这个问题的:构建一个sum函数,它可以接受无限数量的参数(从零到无限),它将所有参数之和(如果没有传入参数,则返回0 )。

我的解决方案(错误)是用coffeescript碎片实现的

代码语言:javascript
复制
sum = (...) ->
    return 0 if arguments.length < 1
    sum arguments[0] + ...

如何使用splats编写上面描述的coffeescript sum函数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-17 07:23:06

我相信面试问题的目的是看看如果手工编码的话,你会如何处理这个问题,而这些面试问题总是有点人为的,但是.

代码语言:javascript
复制
sum = (ary...) ->
  ary.reduce (previous, current, index, array) ->
    previous + current
  , 0

console.log "Sum is: #{sum(1, 4, 6)}"
console.log "Sum is: #{sum()}"
票数 1
EN

Stack Overflow用户

发布于 2014-12-16 00:51:11

您需要命名splat参数。"...“不是一个有效的变量名。你好像想

代码语言:javascript
复制
sum = (x, xs...) ->
    if arguments.length < 1
        then 0
        else x + sum xs
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27495686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档