循环后如何将总和除以2

时间:2018-10-16 13:12:33

标签: javascript json

如何在循环后将总和除以2,从而得到值38?我想在警报框中打印答案。

我的Javascript代码:

var nums = ['1','75'];
var sum = 0;

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

    sum += parseInt(nums[i]);

}

alert(sum);

或者如果我具有值1、2、3、4,我想在循环中获取sum(在这种情况下为10)并用2除以在警告框中将其打印出来。

10 个答案:

答案 0 :(得分:2)

M2

答案 1 :(得分:0)

您需要除以2然后...

var nums = ['1','75'];
var sum = 0;

for(var i=0; i < nums.length; i++){
    sum += parseInt(nums[i]);
}
sum /= 2;
alert(sum);

答案 2 :(得分:0)

arr=([(1,2,3,5,6,7), (4,5,6,2,5,3), (7,8,9,2,5,9)])

array = np.array(arr)

array[:,(0,2)]*=4

array
Out[10]: 
array([[ 4,  2, 12,  5,  6,  7],
       [16,  5, 24,  2,  5,  3],
       [28,  8, 36,  2,  5,  9]])

答案 3 :(得分:0)

var nums = ['1','75'];
var sum = 0;

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

    sum += parseInt(nums[i]);

}

alert(sum/2);

解决起来并不复杂。

答案 4 :(得分:0)

使用数组reduce的方法如下所示

var arr = ["1", "67"];

var divide = arr.reduce(function (acc, ele) {
  return acc += +ele; // To convert element from string to array use +
}, 0) / 2;

console.log(divide);

答案 5 :(得分:0)

您可以1行完成。

var nums = ['1','2', '3', '4'];

var result = nums.reduce((el, acc) => parseInt(el) + parseInt(acc), 0) / 2;

console.log(result);

答案 6 :(得分:0)

var nums = ['1','75'];
var sum = 0;

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

    sum += parseInt(nums[i]);

}

alert(sum/2);

答案 7 :(得分:0)

您可以尝试此操作而不会出现任何循环。简短,简单且时尚:

var arr=['1', '75'],
    sum_2=arr.reduce(function(a,b){return a*1+b*1;},0)/2;

alert(sum_2);

答案 8 :(得分:0)

console.log(['1','2'].reduce((p,c) => +p + +c, 0) / 2)
//                            ^ ^     ^    ^   ^ 
//                            | |     |    |   |
//          "p" as "previous"_| |     |____|   |_first "p" value
//                              |     |    
//             "c" as "current"_|     |_convert strings to integers   

运行代码段;会发生什么:

  1. .reduce()['1','2']
  2. 开始
  3. 在第一次调用内部函数((p,c) => +p + +c)时,p(上一个)的值为0,作为第二个参数传递给.reduce(),并且c(当前)的值是'1',即第一个数组元素; 0 + +'1'执行,结果为1
  4. 在第二次调用内部函数时,p的值为1-从上一次执行开始,c的值为'2'1 + +'2'被执行,导致3
  5. 由于数组中不再有项目,因此.reduce()调用的最终结果为3,然后将其除以2中的3 / 2,得出1.5

字符串(+,'+'2'`)前面的一元运算符+'1'将字符串转换为整数。

答案 9 :(得分:-1)

您可以将总和除以2

顺便说一句,虽然您已经有整数值作为字符串,但是可以使用unary plus +转换为数字。

sum += +nums[i];
//     ^

var nums = ['1', '75'],
    sum = 0,
    i;

for (i = 0; i < nums.length; i++) {
    sum += +nums[i];
}

alert(sum / 2);