Tengo una matriz como esta a=['"nam', 'e"', '"numb', 'er"'] . Quiero crear otra matriz basada en las celdas de esta matriz. si la celda comienza con una comilla, realice un seguimiento de la siguiente celda que termina con una comilla y declare esa celda para la nueva matriz. aquí hay un ejemplo de cómo se convertirá la matriz después de la conversión:
converted_array=['name', 'number']Tenga en cuenta que la matriz podría tener este formato
a=["'name", "e'", "something", "'numb", "er'"]¿Algunas ideas?
Verifique este código
const myArr = ['"My', 'Number"', 'hello', '"text--', '12345"']; let result = []; let status = 0; for (let i = 0; i < myArr.length; i++) { let r = myArr[i]; if (r[0] == "'" || r[0] == '"') { result.push(r.slice(1)); status = 1; } else if (r[r.length - 1] == "'" || r[r.length - 1] == '"') { result[(result.length - 1)] += "" + (r.slice(0, -1)); status = 0; } else if (status == 1) { result[result.length - 1] += (r); status = 1; } else { result.push(r); status = 0; } } console.log(result);Mira esto
const myArr = ["'My", "Nu'mber", "hello'", "text--'", "12345'hou", "se'"]; const result = [] const delimiter = "'" let closing = false let tempText = '' for (const item of myArr) { if (!closing) { if (item.startsWith(delimiter)) { tempText += item closing = true } else { result.push(item) } } else { tempText += item if (item.endsWith(delimiter)) { result.push(tempText) tempText = '' closing = false } } } console.log(result);