Estoy tratando de usar replace para eliminar algunos caracteres en una matriz 2d de cadenas, pero sigo encontrando un problema:
dataArr[j,k] = dataArr[j,k].replaceAll(mCH, ""); ^ TypeError: dataArr[(j , k)].replaceAll is not a function at Object.<anonymous> (C:\Users\magshimim\say-hi-to-sheli-from-me\rafaels-crypto-ninja\thingy\server\index.js:45:35) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) at node:internal/main/run_main_module:17:47esta es la parte de mi código usando la función:
for (let j = 0; j < dataArr.length; j++) { for (let k = 0; k < dataArr[j].length; k++) { dataArr[j][k] = dataArr[j][k].replaceAll('"', ""); dataArr[j][k] = dataArr[j][k].replaceAll(":", ""); dataArr[j][k] = dataArr[j][k].replaceAll("I", ""); dataArr[j][k] = dataArr[j][k].replaceAll("L", ""); dataArr[j][k] = dataArr[j][k].replaceAll("S", ""); dataArr[j][k] = dataArr[j][k].replaceAll("}", ""); } }¿Necesito descargar algo? tal vez hay un problema con mi código?
No es así como se indexa una matriz bidimensional (bueno, una matriz de matrices; no hay matrices bidimensionales en JavaScript).
Está buscando dataArr[j][k] , no dataArr[j,k] .
[j, k] se evalúa solo como k ya que la coma se analiza como el operador de secuencia de coma ; j se evalúa y se desecha, y k es el resultado. Luego se usa para indexar el dataArr de nivel superior y, de hecho, replaceAll no es un método en las matrices anidadas dentro.
También podría reescribir esto como un map doble y usar una expresión regular para que no necesite deletrear todos esos reemplazos:
dataArr = dataArr.map(row => row.map(c => String(c).replace(/[":ILS}]+/g, "")));Puede usar la función .replace en lugar de replaceAll , si la última no está disponible.
"any string".replace(new RegExp("to replace", "g"), "new text")
Esto es mediante el uso de new RegExp("text to replace", "g") como una cadena para buscar