sums[0]
是Object
。 str
应该是sums[0].sum
,它会工作。
但是!如果数字包含多个数字,那么您当前的实现将失败。更安全的方法将分割该字符串:
var sums = [{sum:"0+0=0"},{sum:"1+0=1"}]
var str = sums[0].sum;
// Detecting operator
var operator;
if (str.indexOf('+')) operator = '+';
if (str.indexOf('-')) operator = '-';
if (str.indexOf('*')) operator = '*';
if (str.indexOf('/')) operator = '/';
var chunks = str.split(operator);
var firstOperand = parseInt(chunks[0]);
var secondOperand = parseInt(chunks[1].split('=')[0]);
var result;
switch (operator) {
case '+':
result = firstOperand + secondOperand; break;
case '-':
result = firstOperand - secondOperand; break;
case '*':
result = firstOperand * secondOperand; break;
case '/':
result = firstOperand/secondOperand; break;
default: break;
}
console.log('RESULT:', result);
您的数组无效 – Arvind
'总和[0]'是'对象'。 'str'会是'summs [0] .sum' – Ingmars
你想从'parseInt(str [i])'中得到什么结果? '“0 + 0 = 0”'不是一个有效整数 – scrblnrd3