@guerragro

Перебрать массив?

var arr = [12, '+', 13, '/', 5, '-', 6];

Как произвести вычисления?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 2
dollar
@dollar
Делай добро и бросай его в воду.
var arr = [12, '+', 13, '/', 5];
var result = eval(arr.join(''));
console.log(result);

Скопируйте этот код в консоль и увидите, что он работает.
Ответ написан
Комментировать
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
без учета приоритетов примерно так:
var arr = [12, '+', 13, '/', 5, '-', 6];
var result = 0;
var op = '';
for(var i = 0; i < arr.length; i++) {
  switch(typeof arr[i]) {
  case 'string':
    op = arr[i];
    break;
  case 'number':
    switch(op) {
    case '+':
      result += arr[i];
      break;
    case '-':
      result -= arr[i];
      break;
    case '*':
      result *= arr[i];
      break;
    case '/':
      result /= arr[i];
      break;
    default:
      result = arr[i];
      break;
    }
    break;
  }
}
console.log(result);

если приоритеты нужны, то нужно в дерево сворачивать
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы