<html> <body> <input type="text" id="mainbox"> <button onclick="equals()"> </button> </body> </html> <script src="Calculator.js"></script> var equation = document.getElementById('mainbox').value function equals(){ var equationSplit = equation.split(/\+\-/); console.log(equationSplit) }Estoy tratando de dividir la matriz en función de los signos + y -. Actualmente estoy en el proceso de dividirlo, pero siempre devuelve la longitud de la matriz 1.
1) Debe mover el código para obtener el valor del valor de entrada de la mainbox en la función de equals , porque desea el valor después de presionar el botón, no después de analizar el JS.
var equation = document.getElementById('mainbox').value 2) Puede usar expresiones regulares como /[+-]/g
function equals() { var equation = document.getElementById('mainbox').value var equationSplit = equation.split(/[+-]/g); console.log(equationSplit) } <input type="text" id="mainbox"> <button onclick="equals()">split</button>Su expresión regular se divide en la primera secuencia de '+-' que probablemente no encuentre en la cadena.
Haga que la expresión regular coincida con cualquiera de los caracteres por sí mismo envolviéndolos en [] y configure el indicador global para que coincida con varias apariciones:
var equationSplit = equation.split(/[\+\-]/g);