всем привет, нужна помощь в решении задачи. функция получает на входе строку "2+2*2", без скобок, а результатом должна вернуть математически правильное решение, тоесть сперва умножение, деление... через eval() не годится вариант, через new Function тоже. я пришел к выводу что удобно будет решить задачу сделав два массива с числами и мат.операторами но не понимаю как это все связать
Ну могу подсказать одну из схем. Создаёшь словарь функций для каждого оператора. Создаёшь двумерный массив для приоритетов операторов. Разбиваешь строку на рабочий массив чисел и операторов. Обходишь массив приоритетов, в нём обходишь рабочий массив. Находишь оператор в текущей приоритетной группе - выполняешь соответствующую функцию, заменяешь три элемента в рабочем массиве на результат.