简单的JavaScript程序

时间:2016-06-13 18:37:28

标签: 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_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;

它没有在标准输出上提供任何输出。

我的问题是双管齐下的。

  

一,我在这里做错了什么?

     

二,有人可以帮我理解所提供的代码。

     

特别是这行代码没有意义,`arr =   arr.map(数目);

`

3 个答案:

答案 0 :(得分:1)

我在这里看到你做错了什么。

arr[i]+= count;

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

你想要做什么,似乎是计算数组的总和,看起来像这样:

count += arr[i];

它将arr[i]添加到count

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

答案 1 :(得分:0)

我猜这是Hackerrank的挑战?我认为错误的是你增加了数组元素/项的值而不是计数。 你学习编码很棒,我会说要继续编码

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

您还应该查看reduce操作,以获得更清晰的代码。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

答案 2 :(得分:0)

要传递HR的标准要求,您需要

console.log(count);

process.stdout.write(count);