Heim >Web-Frontend >js-Tutorial >Implementierungscode für JavaScript-Gap-Zero-Padding

Implementierungscode für JavaScript-Gap-Zero-Padding

高洛峰
高洛峰Original
2017-01-07 16:25:361360Durchsuche

Implementierung 1:

/* 平淡无奇法 */ 
function pad(num, n) { 
var i = (num + "").length; 
while(i++ < n) num = "0" + num; 
return num; 
}

Der obige Code ist zu langweilig und spiegelt nicht mein wahres Niveau wider. Es gibt also Implementierung zwei:

/* 神奇递归法 */ 
function pad2(num, n) { 
if ((num + "").length >= n) return num; 
return pad2("0" + num, n); 
}

Die magische Rekursion kann dazu führen, dass mm sie jedes Mal mit Lob und Bewunderung ansieht~~
Wenn jedoch Meister miteinander konkurrieren, kommt es auf einen einzigen fatalen Schachzug an . Der obige Code besteht tatsächlich aus zwei Zeilen, was einfach beleidigend ist. Nachdem ich darüber nachgedacht hatte, kam mir eine Zeile magischen Codes in den Sinn:

/* 奇淫技巧法 */ 
function pad3(num, n) { 
return (Array(n).join(0) + num).slice(-n); 
}

Dieses Mal warf mm mir einen bewundernden Blick zu, hiahia~~~
=== Ich bin kein Raumteiler , Ich bin Eine lange, lange Trennlinie in der Zeit. Nach n Jahren ===
Eines Tages war die Herbstluft frisch und mein Herz war entspannt und glücklich. Mit Freunden unter dem Bodhi-Baum sitzen, Wein trinken und Schach spielen.
Freund sagte: BP, du hast mich verletzt, seit du gegangen bist. Diese magischen Codes, die du hinterlassen hast, führten dazu, dass mir drei Jahre früher die Haare ausfielen.
Ich war schockiert: Wie kann ich das sagen?
Ein Freund blickte mit bestürztem Gesichtsausdruck zurück: Erinnern Sie sich an die magische Pad3-Funktion? Innerhalb eines Jahres nach Ihrer Abreise boomte das Geschäft. In Pad3 liegt ein Fehler vor. In einigen Fällen werden die ersten Ziffern der Nummer abgeschnitten. Beispielsweise gibt pad3(123456, 5) 23456 zurück. Dieser Fehler wurde von Hackern entdeckt, was zu mehreren groß angelegten Phishing-Vorfällen führte und dem Unternehmen Millionenverluste bescherte. Damals befahl mir mein Chef, den Fehler innerhalb eines Tages zu finden, aber Ihr magischer Code brauchte drei Tage, um ihn zu finden. Zusätzlich zu Pad3 gibt es auch eine magische xxoo9-Funktion ...
Mein alter Freund plapperte immer noch und als ich den ersten Absatz zu Ende hörte, war ich verloren. Ich senkte den Kopf und dachte darüber nach, wie ich Pad3 schreiben soll. Das wird tatsächlich im Handelssystem verwendet...
Nachdem ich mich von meinem alten Freund verabschiedet hatte, konnte ich es kaum erwarten, ihn abzurufen die pad3 und xxoo9 und andere Codes aus der Google Face Cloud Nach dem Testen war ich schockiert:
tricky_code.html
pad3 hatte nicht nur Fehler beim Abfangen von Zeichen, sondern auch Leistungsprobleme ...
Ein heftiges ideologischer Kampf.
In der Verwirrung sah ich Tang Monk mit einem Lächeln aus der Ferne kommen:
Jeder auf der Welt lacht über meine Worthaftigkeit, aber die Welt kann meinen Weg nicht verstehen.
Wenn Sie diese Verwirrung lösen möchten, ist Einfachheit das wahre Wissen.
Tang Monk warf eine Schriftrolle hin und lachte vor sich hin:

/* 质朴长存法 */ 
function pad(num, n) { 
var len = num.toString().length; 
while(len < n) { 
num = "0" + num; 
len++; 
} 
return num; 
}

Als ich sie ansah, lachte ich auch und ging mit Tang Monk, um Schriften zu lernen...
Hinweis: Das wollte ich schon immer einen solchen Artikel schreiben. Ich bin heute durch 51js geschlendert und habe zufällig einen Beitrag gesehen: Es gibt nicht genügend Ziffern, um eine 0 voranzustellen, also kam mir sofort die Idee für diesen Artikel. In Bezug auf das Nullauffüllen ist meine seltsame Reaktion return Array(n - ("" + num).length + 1).join(0) + num; (es gibt auch Fehler), was der von Guoguo ähnelt, aber den Schockwert berücksichtigt (Guoguos Fehler ist eher versteckt). Abschließend wird Guoguos Code als Beispiel verwendet. Wie auch immer, danke Guoguo.

Weitere Artikel zum Implementierungscode zum Füllen von JavaScript-Lücken und Nullen finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn