Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将此函数从Ruby转换为JavaScript,使其看起来相同_Javascript_Ruby - Fatal编程技术网

如何将此函数从Ruby转换为JavaScript,使其看起来相同

如何将此函数从Ruby转换为JavaScript,使其看起来相同,javascript,ruby,Javascript,Ruby,我用Ruby编写了一个简单的函数,它接受一个数字并返回该数字之前(包括该数字)所有3和5的倍数之和 例如: findSum(5)返回8(因为3+5) findSum(10)返回33(因为3+5+6+9+10) findSum(15)返回60,以此类推: def findSum(num) (1..num).select { |n| n % 3 == 0 || n % 5 == 0 }.reduce { |sum, n| sum += n } end 您知道如何将Ruby函数“复制”和“转换”

我用Ruby编写了一个简单的函数,它接受一个数字并返回该数字之前(包括该数字)所有3和5的倍数之和

例如: findSum(5)返回8(因为3+5)

findSum(10)返回33(因为3+5+6+9+10)

findSum(15)返回60,以此类推:

def findSum(num)
  (1..num).select { |n| n % 3 == 0 || n % 5 == 0 }.reduce { |sum, n| sum += n }
end
您知道如何将Ruby函数“复制”和“转换”为JavaScript函数,使其看起来几乎相同吗


我知道JavaScript可以用很多不同的方法来解决这个问题,但现在作为一个初学者,我可能无法理解其中的大部分,我只需要看看用JavaScript编写上述相同函数的最相似的方法。

没有那么好的方法来创建从1到n的数字范围,但这里有一个选项:

Array.from({ length: num }, (_, i) => i + 1)
然后,选择将要使用的
.filter
,而不是
。然后选择
。reduce
以两种语言存在

函数findSum(num){
返回数组。from({length:num},({,i)=>i+1)
.filter(n=>n%3==0 | | n%5==0)
.减少((总和,n)=>总和+=n)
}
控制台日志(findSum(5))
控制台日志(findSum(10))
console.log(findSum(15))