Κάποιος ισχυρίζεται ότι ο προγραμματισμός είναι τέχνη και, τελικά, μπορώ παρά να συμφωνήσω, ιδίως όταν οι λύσεις βρέθηκαν πολύ διαφορετική για το ίδιο πρόβλημα. Για να καταλάβετε πώς αυτή η αλήθεια είναι σαν την ίδια ανάγκη σε medisimo γλώσσα (Javascript) μπορούν να λυθούν με αρκετά διαφορετικές προσεγγίσεις και πρωτότυπο.
Αριστερά μηδέν Pad
Ένας αριθμός, αλλά η ομιλία ισχύει επίσης για κάθε string, όπως η 123 μπορεί να πληρωθεί για την αριστερά - να - με μια σειρά μηδενικά, για παράδειγμα: 00123 Η ανάγκη αυτή παρουσιάστηκε σε αρκετές περιπτώσεις και είναι χρήσιμες για την ευθυγραμμιστεί - ή δείχνουν - μια σειρά καθαρά, εμμέσως δείχνει τη μέγιστη τιμή. Στο βίντεο, για παράδειγμα, η κλασική βαθμολογία (η βαθμολογία) είναι συχνά αναφέρεται από 001234 ότι το πολύ πρόκειται για 999999 Να πώς το πρόβλημα λύθηκε με διάφορους προγραμματιστές:
JavaScript: / **
* Αριστεράς Pad string
*
* @ Από http://snipplr.com/view/8423/left-pad-string/
* @ Συγγραφέας web-http: / / www.mechanicmatt.com/
*
* @ Param NUM - για την πλήρωση Striga
* @ Param totalChars - Συνολικός αριθμός χαρακτήρων, συμπεριλαμβανομένου του "μηδενικά"
* @ Param padWidth - χαρακτήρων που χρησιμοποιούνται για την πλήρωση, προεπιλογή "0"
* /
num, totalChars, padWith ) { leadingZeros λειτουργία (NUM, totalChars, padWith) (
num = num + ""?
? padWith = (padWith); padWith: "0"?
num. length <totalChars ) { εάν (μήκος εσωτερικό αριθμό <totalChars) (
num. length <totalChars ) { ενώ (μήκος εσωτερικό αριθμό <totalChars) (
padWith + NUM NUM =?
)
{ } Else ())
num. length > totalChars ) { //if padWith was a multiple character string and num was overpadded εάν (μήκος εσωτερικό αριθμό> totalChars) (/ / padWith εάν ήταν πολλαπλή και αριθμό χαρακτήρων που ήταν overpadded
num. length - totalChars ) , totalChars ) ; = NUM NUM. Substring ((αριθμός μήκους - totalChars), totalChars)?
{ } Else ())
επιστροφή num?
)
leadingZeros ( "asdf" , 10 , "0" ) ) ; συναγερμού (leadingZeros ( "asdf", 10, "0"))?
Η λύση αυτή είναι εξαιρετικά άρθρωση, αλλά μπορεί να προσθέσει απεριόριστο αριθμό 0 0 έως αριθμού num επίσης την επιλογή της γραμματοσειράς που χρησιμοποιείται από padWidth αντί για το προεπιλεγμένο 0
Σίγουρα πρωτότυπο, ωστόσο, αυτή η λύση:
JavaScript: / **
* String_pad
*
* @ Από http://snipplr.com/view/700/stringpad/
* @ Συγγραφέας http://d.hatena.ne.jp/brazil/20060721/1153489937
*
* @ Param σ. - για την πλήρωση Striga
* @ Param LEN - Συνολικός αριθμός χαρακτήρων, συμπεριλαμβανομένου του "μηδενικά"
* @ Param CH - χαρακτήρων που χρησιμοποιούνται για την πλήρωση
* /
str, len, ch ) { return new Array ( len- ( '' +str ) . length + 1 ) . join ( ch ) + str } λειτουργία επίθεμα (STR, LEN, CH) (επιστροφή νέα Array (LEN-(+''STR). μήκους + 1). ενταχθούν (CH) + σ.)
pad ( 56 , 4 , '0' ) ) ; // 0056 συναγερμού (pad (56, 4,'0 '))? / / 0056
Ίδιο αποτέλεσμα, με μια εντελώς διαφορετική προσέγγιση. Και πάλι έχουμε την ευκαιρία να αποφασίσουν τον αριθμό των χαρακτήρων μέσω της επενδυτικής παράμετρο len και η γραμματοσειρά που χρησιμοποιείται από τον ch Αδυνατεί να χρησιμοποιήσετε την προεπιλογή που παρέχονται στις προηγούμενες λειτουργία.
Τι να χρησιμοποιήσω αντί ...:
JavaScript: / **
* String_pad
*
* @ Συγγραφέας Giovambattista Fazioli
* @ Web http://www.undolog.com
*
* @ S Παράμ - για την πλήρωση Striga
* @ Param l - Μια συμβολοσειρά που δείχνει τον χαρακτήρα είναι ότι το μήκος
* Όπως το "0000" χαρακτήρα = "0" μήκος 4
* /
s,l ) { return ( l. substr ( 0 , ( l. length -s. length ) ) +s ) ; } φουλάρ λειτουργία (s, l) (μετ 'επιστροφής (λ. substr (0, (L-s μήκος. μήκους)) + s)?)
padding ( '123' , '0000' ) ) ; συναγερμού (παραγέμισμα ('123 ', «0000»))?
Αν έχετε άλλες ενδιαφέρουσες λύσεις παρακαλώ σχόλιο 
Σχετικές Post