当前位置:  开发笔记 > 编程语言 > 正文

在Javascript数组中相互之间划分数字

如何解决《在Javascript数组中相互之间划分数字》经验,为你挑选了2个好方法。

我有一组随机生成的数字.我想创建一个分割所有这些数字的函数.基本上,假设我在数组[5,7,6,8,2]中有5个数字,我希望输出等于5/7/6/8/2

array = [5, 7, 6, 8, 2];

var total = 1;    
for(var i = 0; i < array.length; i++) {
total = array[i] / total; 
}

return total;

这是我到目前为止所做的,但输出不正确.知道我做错了吗?



1> CollinD..:

你基本上得到了你的数学.根据您的方法,您希望逐步划分总数,而不是逐步除以总计.

var total = array[0];
for (var i = 1; i < array.length; i++) 
    total = total / array[i];
return total;



2> blessenm..:

尝试这个。它使用数组的reduce方法以及es6 箭头函数,使它成为一个衬里。您可以使用babel将es6语法转换为es5。

var arr = [5, 7, 6, 8, 2];

arr.reduce((prev,curr) => prev/curr);

ES5版本:

var arr = [5, 7, 6, 8, 2];

arr.reduce(function(prev, curr) {
  return prev/curr;
});

正如您在docs中看到的那样,Array.reduce()会将值列表减少为一个值,在列表中循环,应用回调函数并返回一个新列表。在该回调中,您可以访问四个参数:

previousValue:如果在回调函数后传递参数,则previousValue将采用该值,否则它将是数组中的第一项。

currentValue:循环中的当前值。

index:循环中当前项目的索引。

数组:列表

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有