convertir una matriz de letras en una matriz de palabras usando JavaScript
const entradaArr = [ 'b', 'a', 'k', 'e', '', 'c', 'a', 'k', 'e', '', 'e', 'a', 't']; y mi resultado deseado es: salida = ['hornear', 'pastel', 'comer'];
Utilicé el método Join pero no obtengo el resultado deseado. const entradaArr = [ 'b', 'a', 'k', 'e', '', 'c', 'a', 'k', 'e', '', 'e', 'a', 't'];
const result=inputArr.join(''); console.log(result);salida: "hornearpastelcomer"
Si desea la respuesta de una manera diferente a unirse.
Puede iterar sobre inputArr y luego seguir agregando el carácter hasta que encuentre el espacio vacío (''), allí puede agregar la palabra en outputArr y restablecer la palabra.
const inputArr = [ 'b', 'a', 'k', 'e', '', 'c', 'a', 'k', 'e', '', 'e', 'a', 't' ]; var outputArr = []; var word = ''; // Iterate over the array. for (let i = 0; i < inputArr.length; i++) { if(inputArr[i]=='') { // If you found the empty Space(''), add to the outputArr outputArr.push(word); // reset the word, to start making the new word. word = ''; // No need to execute the below code, so continue. continue; } // Keep appending the character to the word. word = word.concat(inputArr[i]); } // This is for the last word string. if(word != '') { outputArr.push(word); } console.log(outputArr);quieres usar
const inputArr = [ 'b', 'a', 'k', 'e', ' ', 'c', 'a', 'k', 'e', ' ', 'e', 'a', 't' ]; Note la diferencia entre '' y ' ' .
Si no tiene control sobre la entrada, puede cambiar la matriz para que se ajuste al método de la otra respuesta:
inputArr.forEach((element, index) => { if(element === '') { inputArr[index] = ' '; } }); inputArr.join('');