Necesito entender cómo con un arreglo de números, dividirlo en bloques cuando aparece el número cero, esto marca el principio y el final de este y otro bloque.
Las cuales debo ordenar en orden ascendente y que al imprimir las secuencias deben estar separadas por un espacio donde estaba el cero y si hay una secuencia de ceros se imprimiría una X.
Ejemplo 1: [1,3,2,0,7,8,1,3,0,6,7,1]. El resultado: 123 1,378 167 Ejemplo 2: [2,1,0,0,3,4]. El resultado: 12X34.
var myArray = [1,3,2,0,7,8,1,3,0,6,7,1] let salida =''; let salida_temp = [] for(let i = 0; i < array.length; i++){ if(array[i] !== 0 && i+1 < array.length) salida_temp.push(array[i]) else{ if(i+1 == myArray.length){ salida_temp.push(myArray[i]) }del tanque
Tienes que pasar por una serie de pasos consecutivos para lograr el resultado deseado.
function separateNumber(arr) { return arr .join("") .replace(/(0)\1+/g, "0X0") .split("0") .map((s) => s.split("").sort().join("")) .join(" ") .replace(/ X /g, "X"); } console.log(separateNumber([1, 3, 2, 0, 7, 8, 1, 3, 0, 6, 7, 1])); console.log(separateNumber([2, 1, 0, 0, 3, 4])); console.log(separateNumber([2, 0, 1, 0, 0, 3, 4])); console.log(separateNumber([2, 1, 0, 0, 3, 4, 0, 0, 0]));