Выделение строки с последующим дроблением на отдельные элементы массива
У меня есть задача, написать калькулятор на веб сайте. Возникла проблема, что я не могу раздробить строку на отдельные элементы для массива, чтобы дальше уже взаимодействовать с выражениями.
Вот как я получаю строку в массив:
<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 шт):
попробуйте использовать '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 правильно написал уберите []