Nogen hævder, at programmering er en kunstart, og i sidste ende, kan jeg kun være enig især når scovano meget forskellige løsninger for det samme problem. At forstå, hvordan dette er sandt, er det, hvordan ens behov i medisimo sprog (JavaScript) kan løses helt forskellige tilgange og original.
Hall venstre nul
En række, men talen er også gyldige for alle strenge, såsom 123 kan fyldes til venstre - til balance - med en række af nuller for eksempel: 00123 Dette behov er præsenteret ved flere lejligheder og er nyttig for alliancefrie - eller viser - en række rent implicit angivelse af sin maksimale værdi. I videoen, for eksempel den klassiske score (scoren) er ofte angivet med 001234 at på de fleste vil det føre til 999999 Her er, hvordan problemet blev løst ved hjælp af forskellige udviklere:
JavaScript: / **
* Venstre Pad String
*
* @ Fra http://snipplr.com/view/8423/left-pad-string/
* @ Udsteder web-http: / / www.mechanicmatt.com/
*
* @ Param num - Striga at udfylde
* @ Param totalChars - Samlet antal tegn, herunder "nul"
* @ Param padWidth - Tegn bruges til at fylde, default "0"
* /
num, totalChars, padWith ) { leadingZeros funktion (num, totalChars, padWith) (
num = num + "";
? padWith = (padWith)? padWith: "0";
num. length <totalChars ) { if (Nej længde <totalChars) (
num. length <totalChars ) { mens (No. længde <totalChars) (
padWith + num = num;
)
{ } Else ())
num. length > totalChars ) { //if padWith was a multiple character string and num was overpadded hvis (nr. længde> totalChars) (/ / hvis padWith var et multiplum Tegnstreng og num blev overpadded
num. length - totalChars ) , totalChars ) ; num = num. substring ((No. længde - totalChars), totalChars);
{ } Else ())
tilbagevenden num;
)
leadingZeros ( "asdf" , 10 , "0" ) ) ; alert (leadingZeros ( "asdf", 10 "0"));
Denne løsning er yderst artikulere, men du kan tilføje et hvilket som helst antal 0 til antallet num vælge den type tegn, der skal anvendes ved padWidth i stedet for 0
Definitely oprindelige imidlertid denne løsning:
JavaScript: / **
* String_pad
*
* @ Fra http://snipplr.com/view/700/stringpad/
* @ Udsteder http://d.hatena.ne.jp/brazil/20060721/1153489937
*
* @ Param str - Striga at udfylde
* @ Param len - Antal skrifttegn, herunder "nul"
* @ Param ch - tegnet bruges til at fylde
* /
str, len, ch ) { return new Array ( len- ( '' +str ) . length + 1 ) . join ( ch ) + str } funktion pad (str, len, CH) (forrentning new Array (len-(''+ str). længde + 1). tiltræde (CH) + str)
pad ( 56 , 4 , '0' ) ) ; // 0056 alert (pad (56, 4,'0 ')); / / 0056
Samme resultat, med en helt anden tilgang. Også her har vi mulighed for at beslutte det antal tegn gennem padding parameter len og den skrifttype der benyttes af ch Undlader at bruge standard forudsat i den foregående funktion.
Hvad jeg bruge i stedet ...:
JavaScript: / **
* String_pad
*
* @ Udsteder Giovambattista Fazioli
* @ Web http://www.undolog.com
*
* @ Param s - Striga at udfylde
* @ Param l - En streng, der angiver den karakter er, at længden
* Eg "0000" karakter = "0" længde 4
* /
s,l ) { return ( l. substr ( 0 , ( l. length -s. length ) ) +s ) ; } padding funktion (r, l) (forrentning (substr l. (0, (l-s længde. længde)) + r);)
padding ( '123' , '0000' ) ) ; alert (padding ('123 ','0000'));
Hvis du har andre interessante løsninger tøv ikke med at kommentere 
Related Post