簡體   English   中英

Coffeescript:Splat Sum函數

[英]Coffeescript: Splat Sum Function

我剛剛在Yahoo!的一次采訪中被問到了這一點:構建一個sum函數,它可以接受無限量的參數(無窮無窮),並且可以對所有參數求和(如果沒有傳入任何參數,則返回0 )。

我的解決方案(錯誤)是使用coffeescript ss的以下內容:

sum = (...) ->
    return 0 if arguments.length < 1
    sum arguments[0] + ...

如何使用splats如上所述編寫coffeescript sum函數?

您將需要命名splat參數。 ... ”不是有效的變量名。 你好像要

sum = (x, xs...) ->
    if arguments.length < 1
        then 0
        else x + sum xs

我敢肯定,面試問題的目的是要看看如果手動編碼它會如何解決這個問題,而這些面試問題總是有些人為的,但是...

sum = (ary...) ->
  ary.reduce (previous, current, index, array) ->
    previous + current
  , 0

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM