输入一个三位数字并编写一个将数字相加的功能 - 作业警告

时间:2016-12-12 16:02:27

标签: javascript function for-loop

我有功能的这个功课问题。我可以将用户的字符串输入到数字数组中,但我无法弄清楚如何添加它们。我尝试做一个for循环,但这似乎是我走错了路。

问题: 允许用户输入三位数字。 编写一个将数字相加的函数。 提示#1:您需要将字符串转换为整数。 提示#2:字符串也可以视为数组。

这是我的代码:

    document.getElementById('submitBtn3').addEventListener
    ("click",     function ()) {

    var digits = document.getElementById('digits').value;
    var digitsArray = digits.split(',').map(function(i) {
        return parseInt(i, 10);
    })

    console.log(digitsArray);
    document.getElementById('q11').innerHTML = digitsArray;
    })

任何帮助表示赞赏

3 个答案:

答案 0 :(得分:0)

你有一些问题,

  • 没有以下功能块的闭括号

    ("click",     function ()) 
    //                       ^
    
  • split(',')分割,仅适用于联合数组,如1,2,3,但不包含字符串,不带逗号。这里需要一个空字符串split('')

现在,您可以在另一个循环中添加单个数字,或者通过添加扩展第一个循环。



document.getElementById('submitBtn3').addEventListener("click", function() {
    var digits = document.getElementById('digits').value;
    var digitsArray = digits.split('').map(function(i) {
        return parseInt(i, 10);
    });

    console.log(digitsArray);
    document.getElementById('q11').innerHTML = digitsArray;
});

<input id="digits">
<button id="submitBtn3">go!</button>
<div id="q11"></div>
&#13;
&#13;
&#13;

只是提示完整性。

字符串具有length属性。这有助于使用选择的循环遍历字符串。内部访问可以使用String#charAt,也可以使用括号和索引,例如string[index]

答案 1 :(得分:0)

function add(a, b) {
  return a + b;
}

document.getElementById('submitBtn3').addEventListener("click", function() {
  var digits = document.getElementById('digits').value;
  var sum = digits.split("").map(function(n){return parseInt(n)}).reduce(add,0);
    
  document.getElementById('q11').innerHTML = sum;
});
<input id="digits" type="number"/>
<button id="submitBtn3">go!</button>
<div id="q11"></div>

答案 2 :(得分:0)

这个可能比使用1行.map

更多的功课回答

function myFunc() {
  var num = document.getElementById('digits').value;
  var tot = 0;
  num.split('').forEach( function (x) {
    tot = tot + parseInt(x,10);
  });
  document.getElementById('output').innerHTML = tot; 
}
<input id="digits" />
<button onClick="myFunc()">Submit</button>
<div id="output"></div>