ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で数値文字列を 0 と 1 の文字列にエンコードする

JavaScript で数値文字列を 0 と 1 の文字列にエンコードする

PHPz
PHPz転載
2023-08-24 08:13:08637ブラウズ

在 JavaScript 中将数字字符串编码为 0 和 1 的字符串

質問

10 進数を表す文字列を受け入れる JavaScript 関数を作成する必要があります。

私たちの関数は、次のルールに基づいて、この 10 進数を 2 進数に変換/エンコードする必要があります。

n の各桁 d について

    #k を d の桁数とする
  • #k-1 に数値 0 を乗算し、その後に数値 1 を乗算します
  • 数値 d をバイナリ文字列として書き込みます。右端のビットが最下位ビットです。
  • ##最後に、b) と c) の結果を連結して d
  • # のエンコードを取得します。
  • # #最後に、結果として得られる n の数値をすべて連結します。
したがって、エンコード 2 は 0110、エンコード 3 は 0111 です。

次はコードです。 -

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));

出力

次のとおりです。コントロールステーションの出力-

001111001111011101110001100000011000001101001101

以上がJavaScript で数値文字列を 0 と 1 の文字列にエンコードするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。