実装 1:
/* 平淡无奇法 */ function pad(num, n) { var i = (num + "").length; while(i++ < n) num = "0" + num; return num; }
上記のコードはあまりにも当たり障りなく、私の本当のレベルを反映していません。したがって、実装 2 があります:
/* 神奇递归法 */ function pad2(num, n) { if ((num + "").length >= n) return num; return pad2("0" + num, n); }
魔法の再帰により、mm は毎回賞賛と称賛の目で彼女を見つめることができます~~
しかし、マスター同士が競争するとき、重要なのは、その 1 つの動きが致命的であるということです。上記のコードは実際には 2 行を使用していますが、これは単純に侮辱的です。それについて考えた後、魔法のコードの行が私の頭に浮かびました:
/* 奇淫技巧法 */ function pad3(num, n) { return (Array(n).join(0) + num).slice(-n); }
今度はmmが私に感嘆の表情をくれました、ヒアヒア~~~
=== 私は空間の境界線ではありません、私は長いです、長年の区切り線。 n年ぶり ===
秋の空気が爽やかで、心がゆったりとして幸せなある日。友人たちと菩提樹の下に座り、ワインを飲みながらチェスをする。
友人は言いました:BP、あなたは去って以来私を傷つけました。あなたが残した魔法のコードのせいで、私の髪は3年早く抜け落ちてしまいました。
私はショックを受けました。どうやってこんなことを言えるでしょうか?
友人はがっかりしたような表情で振り返りました。「あの魔法の Pad3 機能を覚えていますか?」あなたが退職してから 1 年以内に、ビジネスは急増しました。場合によっては、pad3 にバグがあり、番号の最初の桁が傍受されます。たとえば、pad3(123456, 5) は 23456 を返します。このバグはハッカーによって発見され、これによりいくつかの大規模なフィッシング事件が発生し、会社は数百万ドルの損失を被りました。当時、上司からは 1 日以内にバグを見つけるように命じられましたが、あなたのマジック コードではバグを見つけるのに 3 日かかりました。 Pad3 に加えて、魔法の xxoo9 機能もあります。当時は...
私の古い友人はまだおしゃべりしていましたが、最初の段落を聞き終わったとき、私は道に迷っていました。頭を下げてpad3の書き込み方法を考えてみました。確かにこれはトレードシステムで使用されています。汗…
旧友に別れを告げた後、 Google Face クラウドからのpad3 と xxoo9 コード。テスト後、ショックを受けました:
tricky_code.html
pad3 には文字傍受のバグがあるだけでなく、パフォーマンスの問題もあります...
激しいイデオロギー闘争。
混乱の中で、私は遠くから唐僧がやって来て、微笑みながら話しているのを見ました:
世界中の誰もが私の言葉の多さを笑いますが、世界は私のやり方を理解できません。
この混乱を解決するには、シンプルさが真の知恵です。
唐の僧侶は巻物を投げて笑い飛ばしました:
/* 质朴长存法 */ function pad(num, n) { var len = num.toString().length; while(len < n) { num = "0" + num; len++; } return num; }
それを見て、私も笑って唐の僧侶と一緒に経典を学びに行きました...
注: 私は常にこのような記事を書きたいと思っていました。今日51jsの周りを徘徊していて、たまたま「前に0を追加するには桁数が足りない」という投稿を見かけたので、すぐにこの記事のアイデアを思いつきました。ゼロパディングに関しては、私の奇妙な反応は return Array(n - ("" + num).length + 1).join(0) + num; です。これは Guoguo のものと似ていますが、ショック値を考慮すると、 (Guoguo のバグはさらに隠されています) 最後に、Guoguo のコードを例として使用します。とにかく、ありがとうGuoguo。
その他の JavaScript ギャップ ゼロ埋め実装コード関連記事については、PHP 中国語 Web サイトに注目してください。