Я делаю калькулятор и нажав/сохраняя все числа и операторы, нажав на массив и строку.Как вычислить массив (или строку) чисел и математических операторов
Я хочу знать, какой подходитявляется лучшим в данном случае. Создание строки или массива из ввода ИЛИ лучший подход, о котором я не могу думать.
Я хочу вычислить массив или строку. Строка дает неправильные ответы, и я не знаю, как я могу вычислить массив. Демо-калькулятор ниже.
$(document).ready(function(){
var inputArr = [];
var inputStr = '';
$('span').click(function(){
$('#input').append($(this).text());
//push to inputArr
inputArr.push($(this).text());
//add to inputStr
inputStr += $(this).text();
});
//Get result
$('.equals').click(function(){
$('#result').text(inputArr);
$('#result').append("<br/>" + parseInt(inputStr));
});
$('.clear').click(function(){
// clear everything
$('#input').text('');
inputArr = [];
inputStr = '';
});
});
span {
background: #bbb;
border-radius: 2px;
margin: 5px;
padding: .5em;
cursor: pointer;
}
.equals{
width: 30%;
background: #bbb;
border-radius: 2px;
margin: 15px;
padding: .5em;
cursor: pointer;
text-align: center;
font-size: 1.5em;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span>
<br/>
<br/>
<span>6</span> <span>7</span> <span>8</span> <span>9</span> <span>0</span>
<br/><br/>
<span>+</span><span>-</span><span>*</span><span>/</span><span class='clear'>clear</span>
<p class="equals"> = </p>
<p id="input"></p>
<p id='result'></p>
Я попытался с помощью parseInt(inputStr)
, но это дает неправильные ответы.
Возможный дубликат [Как сделать JavaScript оценить строку и больше] (http://stackoverflow.com/questions/30386753/how-to-make-javascript-evaluate-a-string-and -more) – everybody
Легким решением было бы просто использовать 'eval', но некоторые сказали бы, что eval - это зло, поэтому следующим решением будет проанализировать вашу строку и оценить .. например. -> http://stackoverflow.com/questions/2276021/evaluating-a-string-as-a-mathematics-expression-in-javascript – Keith