Mi entrada es una matriz multidimensional y quiero que todo en la matriz esté en una cadena:
Aporte -
let input = [[1,2,3],[1,3,2],[3,2,1],[3,1,2],[2,1,3],[2,3,,1]]Salida esperada
"123,132,321,312,213,231"Yo he tratado
input.join() // which gives me "1,2,3,1,3,2,3,2,1,3,1,2,2,1,3,2,3,1"Y también he probado
input.join('') // which gives me "1,2,31,3,23,2,13,1,22,1,32,3,1"También he intentado usar un bucle for para esto
let input = [[1,2,3],[1,3,2],[3,2,1],[3,1,2],[2,1,3],[2,3,1]] let output = '' for (let i = 0; i < input.length; i++){ let result = input[i] output += result.toString() }que vuelve
"123132321312213231"Parece que no puedo descifrar esto... ¿Algún consejo?
Gracias
Se puede lograr simplemente usando .map() con .join('') dentro:
const input = [[1,2,3],[1,3,2],[3,2,1],[3,1,2],[2,1,3],[2,3,,1]]; const result = input.map(arr => arr.join('')).join(); console.log(result); Cuando pasa una cadena vacía '' a .join() , todos los elementos se unen sin ningún carácter entre ellos.
Casi llegas con tu ciclo for
La otra solución del usuario anterior a mí es, en mi opinión, mejor
pero aquí, usando su sistema, podría hacer algo como esto:
let input = [[1, 2, 3], [1, 3, 2], [3, 2, 1], [3, 1, 2], [2, 1, 3], [2, 3, 1]] let output = '' // since we are working with an array why not use forEach, but you can also go with a normal for, or for of etc input.forEach((array) => { // here we could another forEach for example array.forEach(number => { // adding all numbers inside the smaller array to one string output += number; }) output += ',' }) output = output.slice(0, output.length - 1)da la salida:
"123,132,321,312,213,231"Array.prototype.join() es lo que está buscando, pero para unir cada elemento de la matriz sin ningún separador requiere una cadena vacía array.join("") :
let input = [[1,2,3],[1,3,2],[3,2,1],[3,1,2],[2,1,3],[2,3,1]] let stringified2DArray = "" for (let i in input) { if (i == input.length-1) stringified2DArray += input[i].join("") else stringified2DArray += input[i].join("") + ',' } console.log(stringified2DArray)En el ejemplo anterior, recorremos cada matriz interna, unimos cada elemento y luego agregamos una coma. Si es la última iteración del bucle, excluimos la coma para evitar una coma final.