简单JavaScript程序

简单JavaScript程序,javascript,Javascript,我试图在一个在线编码环境中解决一个简单的预热问题 问题是要找到通过stdin输入的数组的累积和。下面是提供的代码 process.stdin.resume(); process.stdin.setEncoding('ascii'); var input_stdin = ""; var input_stdin_array = ""; var input_currentline = 0; process.stdin.on('data', function (data) { input_s

我试图在一个在线编码环境中解决一个简单的预热问题

问题是要找到通过stdin输入的数组的累积和。下面是提供的代码

process.stdin.resume();
process.stdin.setEncoding('ascii');

var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;

process.stdin.on('data', function (data) {
    input_stdin += data;
});

process.stdin.on('end', function () {
    input_stdin_array = input_stdin.split("\n");
    main();    
});

function readLine() {
    return input_stdin_array[input_currentline++];
}

/////////////// ignore above this line ////////////////////

function main() {
    var n = parseInt(readLine());
    arr = readLine().split(' ');
    arr = arr.map(Number);

}
这是我添加的代码

var count = 0;
    for(i= 0; i<n; i++){
        arr[i]+= count;
    }
    return count;
var计数=0;

因为(i=0;i我知道你在这里做错了什么

arr[i]+= count;
这样,您就可以将
count
添加到
arr[i]

您尝试执行的操作(似乎是计算数组的总和)将如下所示:

count += arr[i];
它将
arr[i]
添加到
count


如果我回答错了,我道歉。

我想这是黑客攻击?我认为错的是你增加了数组元素/项的值,而不是计数。 你正在学习编写代码,这太棒了,我想说,坚持下去

var count = 0;
var n = arr.length
for(i= 0; i<n; i++){
  count += arr[i];
}
return count;
var计数=0;
var n=阵列长度

对于(i=0;i要通过HR的标准要求,您需要

console.log(count);


什么?你写了代码并要求我们解释你写了什么?。哪里出了“问题”?@nicael也许你应该在投票前回头看两遍这个问题。有一块提供的代码我似乎无法理解。我知道我写了什么。从提供的代码中我能收集到的只是他们正在初始化自己的Input字段工作。忽略忽略行上方的代码的原因可能是因为它使用了自己的函数。@user2864740它在标准输出上没有提供任何输出。这就是为什么我试图理解提供的代码。您是否将此部分添加到主函数中?我认为您应该
console.log(count)
not
return
。感谢它最终完成了console.log。您能帮我理解这行的意思吗
arr=arr.map(数字)
对iterable对象的映射操作意味着将创建一个新的数组,其结果是对数组中的每个元素调用提供的函数。Number是一个
js
方法/类。因此,在您的情况下,它基本上是将数组中每个元素调用Number的结果重新分配给
arr变量。
map
reduce
函数有助于将应用程序中的代码简化为样板代码。调用map与执行以下操作相同:
for(var i=0;i
map
简洁明了。哦,看起来,就像上面提到的答案一样,你的挑战者想要的是total
console.log()
ed。
process.stdout.write(count);