Heim > Artikel > Web-Frontend > JS einfache Implementierungsmethode zur Berechnung des Sternzeichens basierend auf Geburtstagsmonat und -datum
Das Beispiel in diesem Artikel beschreibt die einfache Implementierungsmethode zur Berechnung des Sternzeichens basierend auf dem Geburtstagsmonat und -datum mithilfe von JS. Ich möchte es als Referenz mit Ihnen teilen:
Ich habe ein von jemand anderem geschriebenes JS-Skript gesehen, das zu lang war, um es zu lesen .
Ich denke, diese Funktion sollte prägnant genug sein:)
Übergeben Sie Parameter: Monat [int] 1~12; Tag [int] 1~31.
// 根据生日的月份和日期,计算星座。 function getAstro(month,day){ var s="魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯"; var arr=[20,19,21,21,21,22,23,23,23,23,22,22]; return s.substr(month*2-(day<arr[month-1]?2:0),2); }
Wenn Sie im Internet nach „Datumskonstellationsfunktion“ suchen, außer meinem oder meinem erneut geposteten Code, handelt es sich bei fast allen um lange Codes. Ich fürchte, ich kann keinen prägnanteren Code als den oben genannten finden.
Die oben genannten drei Codezeilen können jedoch noch weiter optimiert und verbessert werden:
// 根据生日的月份和日期,计算星座。 function getAstro(m,d){ return "魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯".substr(m*2-(d<"102223444433".charAt(m-1)- -19)*2,2); }
Ist das nicht cool, nur eine Zeile Der Code wurde weitestgehend kompiliert und optimiert.
Oben werden eine Substr-Funktion und eine charAt-Funktion verwendet. Wenn IE nicht berücksichtigt wird, kann .charAt(m-1) sogar zu [m-1] vereinfacht werden.
Wenn ja Die Konstellation muss nicht ausgegeben werden. Der Name erfordert nur den numerischen Index der Konstellation und die vorangehende Zeichenfolge kann wie folgt weggelassen werden:
// 根据生日的月份和日期,计算星座。 function getAstro(m,d){ return m-(d<"102223444433".charAt(m-1)- -19); //输出0~12的数字,0表示摩羯,1表示水瓶,依此类推,...,11是射手,12是摩羯。 }
Schreiben Sie unten einen Testcode:
// 根据生日的月份和日期,计算星座。 function getAstro(m,d){ return "魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯".substr(m*2-(d<"102223444433".charAt(m-1)- -19)*2,2); } //下面写一个测试函数 function test(m,d){ document.writeln(m+"月"+d+"日 "+getAstro(m,d)); } //测试 test(12,21); //输出: 12月21日 射手 test(12,22); //输出: 12月22日 魔羯 test(1,1); //输出: 1月1日 魔羯 test(2,18); //输出: 2月18日 水瓶 test(2,19); //输出: 2月19日 双鱼
Im Anhang finden Sie den Datumsvergleich der zwölf Sternzeichen:
Steinbock (12 /22 - 1/19), Sternzeichen Wassermann (1/20 - 2/18), Fische (2/19 - 3/20), Widder (3/21 - 4/20),
Stier (4/ 21 – 5/20), Zwillinge (5/21 – 6/21), Krebs (6/22 – 7/22), Löwe (7/23 – 8/22),
Jungfrau (8/23 – 9 /22), Waage (9/23 - 10/22), Skorpion (10/23 - 11/21), Schütze (11/22 - 12/21)