Выделение строки с последующим дроблением на отдельные элементы массива

У меня есть задача, написать калькулятор на веб сайте. Возникла проблема, что я не могу раздробить строку на отдельные элементы для массива, чтобы дальше уже взаимодействовать с выражениями.

Вот как я получаю строку в массив:

<input id = "area" class="area" rows="2" cols="50" readonly ></input>

mas = [Array.from(document.querySelectorAll('input'), v=> v.value)];

Но итог не тот что мне нужен. Так как вся строка помещается в один элемент этого массива, а не дробится. То есть массив выглядит так "mas = ["333-66+5"]".

А результат что я хочу получить должен выглядеть "mas = ["333","-","66","+","5"]". То есть строка должна полностью раздробиться.

Я пробовал это сделать через вот такой способ

mas.slice(mas.charAt(mas.indexOf("-" || "+")));

Ответы (1 шт):

Автор решения: LureRed

попробуйте использовать 'split'

mas = Array.from(document.querySelectorAll('input'), v=> v.value);// [] скобочки убираем
let items = mas[0].split(/[+-/*]+/);
<input id = "area" class="area" rows="2" cols="50" readonly ></input>

так как вы получите массив из кучи инпутов и они составят одну строку, по этому нужно указать что 'mas[0]' И SwaD правильно написал уберите []

→ Ссылка