基于用户提供的长度的数组求和

Array summation based on length provided by user

本文关键字:数组 求和 于用户 用户      更新时间:2023-09-26

我试图求和数组,其中数组长度将由用户提供。我已经这样做了,但执行时间很长。做这件事的有效方法是什么?我的代码

function summation(){
 var p = prompt("Number Only","");
 var arr = [] ;
 var sum = 0 ;
 for (var i = 0; i < p; i++) {
    arr.push(parseInt(prompt("Number Only","")));
 };

 for (var i = 0; i <arr.length; i++) {
    sum += arr[i];
 };
 document.write(sum);
}

(function(){
 summation();
})();

当你不需要数组时为什么要使用数组?

function summation(){
 var p = prompt("Number Only","");
 var sum=0;
 for(var i=0;i<p;i++){
   sum+=parseInt(prompt("Number Only", ""));
 }
 document.write(sum);
}

这个解决方案的特点是一个带断点的无限循环,一个带控制的提示符,一个连续输入和一个数字类型检查。

数组大小的第一个输入是不必要的,因为有可能立即以cancel或空输入结束。

function summation() {
    var arr = [],
        sum = 0,
        v;            
    while (true) {
        v = prompt("Number Only (Press [Cancel] for end input)", "");
        if (!v) {
            break;
        }
        v = parseInt(v, 10);
        if (isFinite(v)) {
            arr.push(v);
            sum += v;
        }
    }
    document.write('Array: ' + arr + '<br>');
    document.write('Sum: ' + sum + '<br>');
}
summation();