Esta fue la pregunta de codewars:
Complete la solución para que divida la cadena en pares de dos caracteres. Si la cadena contiene un número impar de caracteres, debe reemplazar el segundo carácter faltante del par final con un guión bajo ('_').
Ejemplos:
Y esto es lo que he conseguido:
function solution(str) { const letters = str.split(''); let text = ''; for (const letter of letters) { text += letter; if (text.replace(/ /g, '').length % 2 === 0) letter !== letters[letters.length - 1] && (text += ' '); } if (str.length % 2 !== 0) text += '_'; return text.split(' '); } console.log(solution('abcd'));Este es el error, obtengo: esperado [ '' ] para igualar profundamente []
function solution(str) { const letters = str.split(''); let text = ''; for (const letter of letters) { text += letter; if (text.replace(/ /g, '').length % 2 === 0) letter !== letters[letters.length - 1] && (text += ' '); } if (str.length % 2 !== 0) text += '_'; console.log(text); return (text === '' && []) || text.split(' '); } console.log(solution(''));Ahora funciona como se esperaba cuando la función de solución se llama como solución (' ') y ahora devuelve una matriz vacía [] en lugar de una matriz con una cadena vacía [' ']