JS数组[index]后的NaN

JS NaN after array[index]

本文关键字:后的 NaN index 数组 JS      更新时间:2023-09-26

我刚开始用js编程,又遇到了一些麻烦。这是我遇到问题的代码:

var actual = [10,50,20];
var sum = 0;
for(var i = actual.length; i > 0; i--){
    sum = sum + actual[i];
} 
    

我做错了什么?

actual.length-1开始循环,因为每个数组从0开始,所以最后一个元素是actual.length-1而不是actual.length

我知道你的计算器代码太复杂了。

你做低级运算,只加"1"。你把所有的数乘以10,再加1。

要简单(;

var inputElement = document.getElementById("input");
var resultElement = document.getElementById("result");
var accept = [0,1,2,3,4,5,6,7,8,9,'-','+','calc'];
var input = [];
function op(value){
  if(accept.indexOf(value) < 0) {
    return;
  }
  
  if(value == 'calc') {
    return calc(); 
  }
  
  input.push(value);
  inputElement.innerHTML = input.join('');
}
function calc() {
  resultElement.innerHTML = eval(input.join(''));
  input = [];
}
<button onclick="op(1)">1</button>
<button onclick="op(2)">2</button>
<button onclick="op(3)">3</button>
<br/>
<button onclick="op(4)">4</button>
<button onclick="op(5)">5</button>
<button onclick="op(6)">6</button>
<br/>
<button onclick="op(7)">7</button>
<button onclick="op(8)">8</button>
<button onclick="op(9)">9</button>
<br/>
<button onclick="op(0)">0</button>
<button onclick="op('.')">.</button>
<button onclick="op('calc')">=</button>
<hr/>
<button onclick="op('+')">+</button>
<button onclick="op('-')">-</button>
<hr/>
INPUT:<div id="input"></div>
DISPLAY:<div id="result"></div>