Tengo un problema al dividir una matriz de objetos
const agent = [ { "agent-name": "Jm Fajardo", "gender": "Male" }, { "agent-name": "Lem Cruz (T1)", "gender": "Male" }, { "agent-name": "Levi Fajarda (T2)", "gender": "Male" }, { "agent-name": "Ian Pacido", "gender": "Male" } ]; $.each(agent, function (key, value) { var sliced = value["agent-name"].slice(0, -5); console.log("agent :", sliced); });Esta es la salida que obtengo:
agent : Jm Fa agent : Lem Cruz agent : Levi Fajarda agent : Ian PEsta es la salida que traté de obtener
agent : Jm Fajardo agent : Lem Cruz agent : Levi Fajarda agent : Ian PacidoPuede usar una expresión regular para hacer coincidir solo patrones como (T1) o (T2) .
const agent = [{ "agent-name": "Jm Fajardo", "gender": "Male" }, { "agent-name": "Lem Cruz (T1)", "gender": "Male" }, { "agent-name": "Levi Fajarda (T2)", "gender": "Male" }, { "agent-name": "Ian Pacido", "gender": "Male" } ]; $.each(agent, function(key, value) { var sliced = value["agent-name"].replace(/\s*\(T\d\)$/, ''); console.log("agent :", sliced); }) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>Explicación:
\s* : todos los espacios antes del patrón\(T\d\) : coincide con todos (Tx) donde x es un dígito$ : al final de la cadena $ se puede omitir para que coincida con (Tx) en cualquier parte de la cadena.
Si desea evitar las expresiones regulares, puede intentar probar la presencia de T1 o T2 y luego solo aplicar su función de división si uno de ellos está presente.
Creo que usar expresiones regulares probablemente sería un enfoque de aplicación más general.
const agent = [{ "agent-name": "Jm Fajardo", "gender": "Male" }, { "agent-name": "Lem Cruz (T1)", "gender": "Male" }, { "agent-name": "Levi Fajarda (T2)", "gender": "Male" }, { "agent-name": "Ian Pacido", "gender": "Male" } ]; $.each(agent, function(key, value) { if(value["agent-name"].includes(['T1']) || value["agent-name"].includes(['T2'])){ var sliced = value["agent-name"].slice(0, -5); } else { var sliced = value["agent-name"]; } console.log("agent :", sliced); }) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>