Maison > Article > interface Web > Encodage d'une chaîne numérique en une chaîne de 0 et de 1 en JavaScript
Nous devons écrire une fonction JavaScript qui accepte une chaîne représentant un nombre décimal.
Notre fonction doit convertir/encoder ce nombre décimal en binaire en fonction des règles suivantes.
Pour chaque chiffre de d dans n
Enfin, nous concaténons tous les résultats des nombres obtenus de n.
Donc l'encodage 2 est 0110 et 3 est 0111
Voici le code -
const str = '77338855'; const encodeNumString = (str = '') => { const buildarray = (string = '') => { let n = string.split(''), res = ''; n.forEach(x => { let num = Number(x).toString(2); num = '0'.repeat(num.length -1) + '1' + num; res += num; }); return res; } const arr = []; let res = ""; for (let i = 0; i < 10; i++){ arr.push(buildarray(String(i))); }; while (str.length){ for (let i = 0; i < 10; i++) { if (str.startsWith(arr[i])) { res += String(i); str = str.slice(arr[i].length); break; } } } return res; }; console.log(encodeNumString(str));
Voici la sortie de la console -
001111001111011101110001100000011000001101001101
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!