Sé cómo recortar todas las cadenas en una matriz (¡gracias a este artículo! ) a través del método map()
let a = [' a ', ' b ', ' c ']; let b = a.map(element => { return element.trim(); }); console.log(b); // ['a', 'b', 'c']
Pero me preguntaba cómo puedo recortar una matriz de matrices.
Por ejemplo let x = [[" a ", " b "], [" c ", " d "]]
¡Gracias!
PD: Actualmente estoy aprendiendo Javascript.
También puede mapear sobre las matrices anidadas.
let data = [[" a ", " b "], [" c ", " d "]] const result = data.map((d) => d.map((y) => y.trim())); console.log(result);
Si desea aplanar el resultado, puede usar flatMap()
let data = [[" a ", " b "], [" c ", " d "]] const result = data.flatMap((d) => d.map((y) => y.trim())); console.log(result);
Además de las soluciones ya proporcionadas, si tiene n niveles de matriz anidada y desea recortar la cadena sin aplanar la matriz, puede hacerlo recursivamente de la siguiente manera.
let arr = [ [" a ", " b "], [" c ", " d ", [" e", "f "]] ] function trimRecursively(arr) { return arr.map(x => { if (Array.isArray(x)) { return trimRecursively(x); } else { return x.trim(); } }) } console.log(trimRecursively(arr));