我想将数组元素加在一起,但是将它们彼此拍打

时间:2019-05-15 14:31:05

标签: javascript

我想将数组中的“ K”个元素加在一起。但是,每次我运行程序时,它只会将数组中的每个值都拍到对方。

    let N=prompt("write number of elements N");
    let K=prompt("write number of elements K");

    var arr= [];
    for(let i=0; i<N ; i++){
      arr[i]=prompt("write each number");
    }
    arr.sort();
    arr.reverse();
  //problematic code:  
    var sum= 0;
    for (let i=0 ; i<K; i++){
      sum+= arr[i];
    }
    console.log(sum);

-整个问题是使用用户输入中的K元素从具有N个元素的数组中找到最大的和。 我不能只将每个值都拍到最后就得出总和。
-预期输出为7 + 8 + 9 = 24。但是,只是将它们拍打在一起:7 + 8 + 9 = 789

1 个答案:

答案 0 :(得分:1)

这是因为提示返回的是字符串而不是数字,只需将其转换为数字,然后再将其添加到数组中即可

let N=prompt("write number of elements N");
let K=prompt("write number of elements K");

var arr= [];
for(let i=0; i<N ; i++){
  arr[i]=Number(prompt("write each number"));
}
arr.sort();
arr.reverse();

var sum= 0;
for (let i=0 ; i<K; i++){
  sum+= arr[i];
}
console.log(sum);