繁体   English   中英

如何在JavaScript中以线性顺序从数组中减去所有项目?

[英]How to subtract all items from an array in linear order in JavaScript?

我已经可以使用以下代码获取所有项目的总和:

var totalPrice = [60,40];

var total = 0;

   for (var i  = 0; i < totalPrice.length; i++){

      total  += totalPrice[i];

   }

然后,我尝试执行以下操作减去数组的所有项目:

 totalPrice = [60,40];

var total = 0;

   for (var i  = 0; i < totalPrice.length; i++){

      total  -= totalPrice[i];

   }

这给了我负面和错误的输出。

我如何减去数组中的所有项目,以便在此示例中,总数等于20。

看来您不是要从0中减去所有项目,而是要从第一个中减去除第一个项目以外的所有项目。 这将是使用reduce的好地方:

 const totalPrice = [60, 40]; const total = totalPrice.reduce((a, b) => a - b); console.log(total); 

使用for循环,您必须将total初始化为第一个元素,然后从第二个元素开始进行迭代:

 const totalPrice = [60, 40]; let total = totalPrice[0]; for (var i = 1; i < totalPrice.length; i++) { total -= totalPrice[i]; } console.log(total); 

如前所述,您不想以负数结尾并且想要以线性顺序进行减法,因此应确保Array的第一项大于Array中所有其他项的总和。

并按以下方式总共存储Array的第一项。

 totalPrice = [60,40];

 var total = totalPrice[0];

 for (var i  = 1; i < totalPrice.length; i++){
     total  -= totalPrice[i];
 }

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM