זאַמילאַ טשאַן: נו, דאָ מיר זענען, די לעצטע P-שטעלן אין קס50. גראַטולירן זיך פון בעת קומען אַזוי ווייַט זינט דיין ערשטער העלא וועלטן און פּרינטינג אַרויף פּיראַמידס פֿאַר מאַריאָ. איר געמאכט אַ וועבזייַטל לעצטע וואָך. און מיר ניטאָ געגאנגען צו זיין געמאכט אנדערן איינער דעם וואָך, איינער אַז אַלאַוז איר צו פאָר אַרום די האַרוואַרד קאַמפּאַס, פּיקינג אַרויף קס50 שטעקן מיטגלידער און ברענגען זיי צוריק צו זייער רעזידענטשאַל הייזער. איצט, לעצטע וואָך מיר געארבעט אין פפּ, אַ סערווירער זייַט שפּראַך. פֿאַר דעם P-שטעלן, מיר ניטאָ געטינג באַקענענ צו דזשאַוואַסקריפּט, וואָס איז אַ קליענט זייַט שפּראַך. אַזוי לאָזן ס נעמען אַ קוק בייַ עטלעכע פון ​​די פאַרשפּרייטונג קאָד אַז ס צוגעשטעלט צו איר פֿאַר דעם P-שטעלן. אין די דזשאַוואַסקריפּט טעקע, עס וועט זיין אַ בינטל פון דזשאַוואַסקריפּט טעקעס. עס ס בוילדינגס.דזשס, וואָס כּולל אַ מענגע פון ​​בנינים אַרום האַרוואַרד קאַמפּאַס מיט זייער אינפֿאָרמאַציע און פּאָסטן. האָוסעס.דזשס איז אַ מענגע פון ​​האַרוואַרד רעזידענטשאַל הייזער מיט זייער לאַטאַטודז און לאָנגיטודעס. פּאַססענגערס.דזשס כּולל אַ מענגע פון פּאַסאַנדזשערז, די קס50 שטעקן מיטגלידער אַז איר וועט זיין געבראכט צוריק צו זייער רעזידענטשאַל הייזער. מאַטה3ד.דזשס, אַז כּולל אַ פּלאַץ פון פאַנגקשאַנז צו טאָן מיט די באַוועגונג. אויב איר 'רע מאַטהעמאַטיקאַללי מיינדאַד, דעמאָלט איך באַגריסן איר צו נעמען אַ קוק. אבער איר טאָן ניט דאַרפֿן צו פֿאַרשטיין אַלץ אין עס. שוטטלע.דזשס, אַז דילז מיט די שוטטלע ס באַוועגונג. און ינדעקס.הטמל איז די היים בלאַט ווו אַלץ כאַפּאַנז, טאַקע, ווו די באַניצער איז ינטעראַקטינג מיט די פּלאַץ. סערוויסע.קסס איז די קסס נוסח בויגן, וואָס אין דערצו צו די טוויטטער באָאָצטראַפּ ביבליאָטעק, קאָנטראָלס ווי ינדעקס.הטמל קוקט. און דעמאָלט מיר אויך האָבן סערוויסע.דזשס, וואָס כּולל דינסט פאַנגקשאַנז פֿאַר די שוטטלע. און דאָ ס ווו איר ניטאָ געגאנגען צו זיין פילונג אין עטלעכע פון ​​די צו-טאָן ס. איצט לאָזן ס נעמען אַ קוק בייַ אַבדזשעקס און אַססאָסיאַטיווע ערייז אין דזשאַוואַסקריפּט, וואָס, פֿאַר אַלע ינטענץ און צוועקן, זענען ינטערטשיינדזשאַבאַל. אויב איך געוואלט צו מאַכן אַ כייפעץ אַ בייַטעוודיק גערופן אַ שטעקל, איך וואָלט דערקלערן עס. און ין די געגרייַזלט ברייסאַז, איך וואָלט ספּעציפיצירן, די האַרץ איז יינהאָרן, די האָלץ איז קאַרש, און די לענג איז 13. איצט, איך קענען אויך צוטריט וואַלועס פון אַבדזשעקץ ניצן אַססאָסיאַטיווע מענגע נאָוטיישאַן. אַזוי שטעקל אינדעקס האַרץ, איך קענען שטעלן אַז גלייַך צו יינהאָרן, אָדער טשעק אַז אויב איך דאַרפֿן. אָדער איך קענען נוצן די פּונקט אָפּעראַטאָר וואַנד.וואָאָד יקוואַלז קאַרש, און אַזוי אויף און אַזוי אַרויס. אַזוי איר זען אַז אַססאָסיאַטיווע ערייז און אַבדזשעקס אין דזשאַוואַסקריפּט זענען געגאנגען צו זיין ינטערטשיינדזשאַבאַל, און וועט קומען אין גאַנץ האַנטיק. דעמאָלט מיר זען אַ מענגע פון ​​בנינים אין בוילדינגס.דזשס, ווידער, אַ מענגע פון ​​אַבדזשעקס. אויב איך געוואלט צו מאַכן אַ מענגע פון ​​די בעסטער בנינים אויף האַרוואַרד קאַמפּאַס, דעמאָלט איך וואָלט מאַכן עס ווי גייט. ניצן דעם כייפעץ נאָוטיישאַן, ווו איך קראָם די וואָרצל, נאָמען, אַדרעס, ברייט, און לאָנגיטודע פֿאַר יעדער איין בנין כייפעץ. זאל ס געשווינד רעדן וועגן וועריאַבאַלז אין דזשאַוואַסקריפּט. ווי פפּ, דזשאַוואַסקריפּט וועריאַבאַלז זענען וויקלי אָדער לוסלי טייפּט. צו מאַכן אַ היגע בייַטעוודיק, איר פּרעפיקס די בייַטעוודיק נאָמען מיט V-א ר, וואַר. איצט, אין דזשאַוואַסקריפּט, פאַנגקשאַנז וועט שיעור דעם פאַרנעם פון וועריאַבאַלז. אַזוי אויב איר האָבן אַ היגע בייַטעוודיק ין אַ פֿונקציע, דעמאָלט אנדערע פאַנגקשאַנז קענען ניט צוטריט עס. אבער ניט ענלעך C, לופּס און באדינגונגען טאָן ניט שיעור דעם פאַרנעם פון אַ בייַטעוודיק. אַזוי אפילו אויב איר דערקלערן עס ין פון אַ צושטאַנד, די גאנצע פונקציאָנירן וועט האָבן צוטריט צו עס. איצט, אָן וואַר, די בייַטעוודיק וועט זיין גלאבאלע. אַזוי אויב איר נאָר דערקלערן די נאָמען און באַשטימען אַ ווערט, דעמאָלט אַז בייַטעוודיק וועט זיין אַ גלאבאלע בייַטעוודיק אין דזשאַוואַסקריפּט. איצט, אין הייזער, מיר האָבן אַ אַססאָסיאַטיווע מענגע פון ​​באַלעבאָס טיפּ אַבדזשעקס, ווו יעדער הויז איז נאָר אַ ברייט און אַ לאָנגיטודע. דעמאָלט מיר האָבן די פּאַסאַנדזשערז מענגע, וואָס איז אַ מענגע פון כייפעץ טיפּ פּאַסאַזשיר. אַזוי יעדער פּאַסאַזשיר האט אַ באַניצער נאָמען, אַ נאָמען, און אַ הויז. באַמערקן אַז איך בין זאגן פון טיפּ פּאַסאַזשיר, וואָס טאַקע נאָר מיטל אַז יעדער כייפעץ האט די זעלביקער שליסל ווערט פּערז. אַזוי יעדער כייפעץ פון טיפּ פּאַסאַזשיר האט אַ באַניצער נאָמען, אַ נאָמען, און אַ הויז. אַזוי וואָס טאָן מיר דאַרפֿן צו טאָן פֿאַר די פּ-שטעלן? נו, מיר דאַרפֿן צו לאָזן ניצערס צו קלייַבן אַרויף שטעקן מיטגלידער, צו אַרויסווייַזן אַלע פון דער שטעקן מיטגלידער וואס זענען איצט אין אונדזער וועבשיפל, און צו פאַלן זיי אַוועק. און דעמאָלט מיר וועט אויך רעדן וועגן עקסטרע פֿעיִקייטן וואָס קענען זייַן ימפּלאַמענטאַד פֿאַר די שוטטלע P-שטעלן. אבער לאָזן ס רעדן וועגן פּיקאַפּ ערשטער. די פנימער פון קס50 שטעקן האָבן שוין געפלאנצט אַלע איבער קאַמפּאַס, ווו יעדער פּנים איז ימפּלאַמענטאַד ווי אַ פּלאַץ צייכן אויף די 3 ד ערד, און ווי אַ מאַרקער אויף די 2 ד מאַפּע. אַזוי ווען דער באַניצער קליקס די פּיקאַפּ קנעפּל, מיר וועלן צו לייגן נירביי פּאַסאַנדזשערז צו די וועבשיפל. און מיר אויך ווילן צו באַזייַטיקן זייער אָרט צייכן פון די וועלט און באַזייַטיקן זייער מאַרקער פון די מאַפּע, ינדאַקייטינג אַז זיי ניטאָ אין אונדזער וועבשיפל איצט. אַזוי ווי טאָן מיר דעטעקט אויב פּאַסאַנדזשערז זענען ין קייט פון אונדזער וועבשיפל? נו, די פֿונקציע ווייַטקייט, אַזוי שוטטלע.דיסטאַנסע, גייט פארביי אין די ברייט און לאָנגיטודע, וועט רעכענען די ווייַטקייט פון די קראַנט שטעלע פון די וועבשיפל צו די פונט אַז איר ספּעציפיצירן מיט אַז געגעבן ברייט און לאָנגיטודע. אַזוי איר קענען נוצן דעם צו רעכענען די ווייַטקייט פון די וועבשיפל צו די פּאַסאַנדזשערז. אבער ווי טאָן איר וויסן ווו די פּאַסאַנדזשערז זענען? גוט, אַז ס ווו מיר וועט האָבן צו רעדאַגירן די באַפעלקערן פֿונקציע. באַפעלקערן ערטער אַלע פון ​​די שטעקן מיטגלידער אין פּאַסאַנדזשערז אין דער וועלט און אין די מאַפּע, אָבער טוט נישט קראָם זייער אָרט. אַזוי טאָמער איר קענען קראָם זייער אָרט מאַרקס און מאַרקערס אין עטלעכע גלאבאלע מענגע. איצט, עס שוין איז אַ גלאבאלע מענגע סטאָרינג אינפֿאָרמאַציע פון ​​פּאַסאַנדזשערז. די פּאַסאַנדזשערז מענגע סטאָרז יעדער פּאַסאַזשיר ס נאָמען און זייער הויז. אַזוי אפֿשר איר קענען לייגן אַ ביסל פּאַראַמעטערס עס צו די פּאַסאַזשיר אַבדזשעקס. צו העלפן אונדז דעטעקט אַלע פון ​​די פּאַסאַנדזשערז ין קייט פון אונדזער וועבשיפל, לאָזן ס שלייף דורך אַלע פון ​​די פּאַסאַנדזשערז אין די פּאַסאַנדזשערז מענגע. א פֿאַר שלייף אין דזשאַוואַסקריפּט זאל קוקן עפּעס ווי דעם, זייער ענלעך צו די פֿאַר לופּס אין סי אָדער מיר קענען נוצן אַ אנדער ברירה פֿאַר שלייף ביניען, פֿאַר וואַר איך אין מענגע, ווו איך וועט נאָך זיין די אינדעקס, אָבער איר טאָן ניט דאַרפֿן צו ספּעציפיצירן די אַררייַ.לענגטה צושטאַנד און איך + +. יעדער פּאַסאַזשיר ס אָרט איז געגעבן דורך זייער אָרט צייכן. אבער דעם אָרט ציל איז ניט דער ברייט און די לאָנגיטודע. מיר האָבן צו צוטריט די פּאַראַמעטערס דורך געטינג די דזשיאַמאַטרי, ניצן באַקומען דזשיאַמאַטרי אויף דעם אָרט ציל, און דעמאָלט אַמאָל מיר האָבן די דזשיאַמאַטרי, געטינג אָדער די ברייט אָדער די לאָנגיטודע ניצן די פאַנגקשאַנז. אַזוי איצט מיר וויסן ווי צו דעטעקט צי פּאַסאַנדזשערז זענען ין קייט פון אונדזער וועבשיפל. אַמאָל מיר האָבן די פּאַסאַנדזשערז, מיר וועט ווילן צו לייגן קיין פּאַסאַנדזשערז וואס זענען ין אַז קייט. מיר ווילן צו לאָזן זיי צו האָפּקען אויף און נעמען אַ אַוועקזעצן אויף אונדזער וועבשיפל, אָבער בלויז אויב מיר האָבן גענוג אָרט צו זיי. די שוטטלע.סעאַץ מענגע וועט אָנווייַזן צי סיץ זענען ליידיק, אָדער ווער ס אין אַז אַוועקזעצן. אַזוי אויב אַ אַוועקזעצן איז ליידיק, דעמאָלט אַז אַוועקזעצן וועט זיין נאַל. אַזוי יטעראַטע איבער די סיץ מענגע, טשעק פֿאַר ליידיק סיץ, סטאָרינג פּאַסאַנדזשערז אין די סיץ ביז איר טאָן ניט האָבן קיין מער ליידיק סיץ. און ליידער, קיין אנדערע פּאַסאַנדזשערז וועט האָבן צו וואַרטן פֿאַר די ווייַטער צייַט די וועבשיפל קומט אַראָפּ. אַמאָל זיי באַקומען אויף די וועבשיפל, מיר וועט ווילן צו באַזייַטיקן זייער אָרט ציל, וואָס איז זייער פאָטאָ אין די 3 ד וועלט. אויב איך געוואלט צו באַזייַטיקן אַ פּלאַץ צייכן פּ, דעמאָלט איך וואָלט באַקומען אַלע פון ​​די פֿעיִקייטן פון מיין ערד, פון די גוגל ערד, און דעריבער באַזייַטיקן אַז ספּעציפיש אָרט צייכן ניצן די רעמאָוועטשילד פֿונקציע. דעמאָלט לאַסטלי, לאָזן ס באַזייַטיקן די מאַרקער, דעם בילדל אויף די 2 ד מאַפּע, פֿאַר קיין פּאַסאַזשיר אַז מיר זענען פּיקינג אַרויף. צו באַזייַטיקן אַ מאַרקער עם, דעמאָלט איך וועט נאָר ויספירן מ.סעטמאַפּ נאַל. טאָן דעם פֿאַר קיין פּאַסאַנדזשערז ין קייט, און איר 'ווע פאַרטיק פּיקאַפּ. די טשאַרט פונקציאָנירן זאָל אַרויסווייַזן אַלע פון די פּאַסאַנדזשערז וואס זענען אין דיין וועבשיפל, און ליידיק אַוועקזעצן אויב ליידיק. אַזוי טשאַרט זאָל יטעראַטע איבער שוטטלע.סעאַץ, ווייַזנדיק די פּאַסאַזשיר אינפֿאָרמאַציע פֿאַר יעדער אינדעקס, און ליידיק אַוועקזעצן אויב אַז אינדעקס איז נאַל. איצט אויב HTML טעקסט איז שטעלן ין פון אַ דזשאַוואַסקריפּט בייַטעוודיק, דעמאָלט דורך ניצן דאָקומענט.געטעלעמענטבייד, טשאַרט קענען רעדאַגירן די ינער HTML פון אַז געגעבן עלעמענט דורך אַסיינינג די HTML טעקסט צו די דאָקומענט.געטעלעמענטבייד ינער HTML בייַטעוודיק. ווען די ניצערס גיט די פאַלן אַוועק קנעפּל אין ינדעקס.הטמל, עס וועט רופן די דראַפּאָף פֿונקציע. און עס ס אונדזער אַרבעט צו ינסטרומענט אַז. אין דראַפּאָף, מיר וועט ווילן צו באַזייַטיקן קיין פּאַסאַנדזשערז פון די וועבשיפל נאָר אויב מיר ניטאָ אין קייט פון זייער דעסטיניישאַן, זייער רעזידענטשאַל הויז. אַזוי דראַפּאָף וועט האָבן צו קאָנטראָלירן צי די וועבשיפל איז אין קייט פון קיין פון די הייזער, און צונעמען קיין דארף פּאַסאַנדזשערז פון די וועבשיפל. אַזוי ווי טאָן מיר טשעק אויב מיר ניטאָ אין קייט פון קיין הייזער? נו, נאָך ווידער, מיר וועט מאַכן נוצן פון די שוטטלע.דיסטאַנסע פֿונקציע, גייט פארביי אין די ברייט און לאָנגיטודע פון ​​די פונט אַז מיר ניטאָ טשעק קעגן. אבער וואָס זענען די פונקטן? נו, די הייזער מענגע, אויב איר געדענקען אין האָוסעס.דזשס, סטאָרז די ברייט און לאָנגיטודע פון ​​יעדער הויז אין אַ אַססאָסיאַטיווע מענגע, ווו יעדער אינדעקס איז דער נאָמען פון אַז הויז. דעמאָלט צו באַזייַטיקן פּאַסאַנדזשערז - געזונט, נאָר אויב מיר ניטאָ אין קייט פון זייער הויז אַז זיי וועלן צו גיין צו. אַזוי ווידער, געדענקען אַז פּאַסאַנדזשערז סטאָרז די הויז אַז יעדער פּאַסאַזשיר וויל צו גיין צו. אויב זיי זענען ין קייט פון זייער הויז, דעמאָלט מיר וועט אַראָפּנעמען אַז פּאַסאַזשיר פון שוטטלע.סעאַץ און שטעלן זייער שטעלע אין דער מענגע צו נאַל. איצט לאָזן ס רעדן וועגן עטלעכע עקסטרע פֿעיִקייטן וואָס קענען זייַן ימפּלאַמענטאַד אין די קס50 שוטטלע P-שטעלן. עס ס אַ פונט סיסטעם ווערביי איר האַלטן שפּור פון ווי פילע ווייזט אַ באַניצער האט. פֿאַר דראַפּינג אַוועק פּאַסאַנדזשערז הצלחה, זיי קענען באַקומען פונקטן. אבער פֿאַר טריינג צו פאַלן אַוועק פּאַסאַנדזשערז ווו עס איז ניט קיין הויז נירביי, נו, זיי קענען באַקומען פּינאַלייזד פֿאַר אַז. אַזוי טאָמער איר ווילן צו האַלטן שפּור פון די פונקטן אין אַ גלאבאלע בייַטעוודיק. איר קענען מאַכשער טאָמער אַ טייַמער, ווו דער באַניצער האט אַ זיכער סומע פון צייַט צו קלייַבן אַרויף און פאַלן אַוועק אַ זיכער נומער פון פּאַסאַנדזשערז. אפֿשר אפילו ויסשטימען דעם מיט די פונט סיסטעם. אָדער איר קענען רעדאַגירן טשאַרט אַזאַ אַז פּאַסאַנדזשערז זענען אויסגעשטעלט דורך הויז. אַזוי אַז וואָלט מיסטאָמע זיין אַ סאָרט פונקציאָנירן צו שוטטלע.סעאַץ. איר קענען מאַכשער אַ פליענדיק שטריך, ווו אויב דער באַניצער ינפּוץ די קאָנאַמי קאָד, דעמאָלט דער וועבשיפל ליפץ אַוועק די ערד און די וועבשיפל קענען פליען. אָבער פֿאַר אַ זיכער פאַלן אַוועק, בעסטער צו מאַכן די וועבשיפל לאַנד זייַן ווילז אויף די ערד ערשטער. איר קענען אויך מאַכשער טעלעפּאָרטאַטיאָן, ווו איר מאַכן אַ קאַפּ אַראָפּ רשימה פון בנינים אין ינדעקס.הטמל. און סאַלעקטינג איינער פון די, די באַניצער וועט זיין טראַנספּאָרטאַד צו אַז בנין אויף קאַמפּאַס. גוט, כאָטש, צו אַרומפאָרן דורך די ווענט פון עטלעכע בנינים אויף דיין וועג עס. איר קענען אויך טוישן די גיכקייַט פון די וועבשיפל, אַלאַוינג די באַניצער צו פאַרגרעסערן אָדער פאַרמינערן די גיכקייַט. אפשר איר ווילן אַ גלאבאלע בייַטעוודיק צו האַלטן שפּור פון ווי פיל ברענוואַרג די וועבשיפל האט, דיקריסינג עס ווי איר גיין צוזאמען. אַמאָל איר שלאָגן נול, כאָטש, די וועבשיפל וועט ניט קענען צו רירן סייַדן איר 'ווע ריפיואַלד, טאָמער ניצן אַ קנעפּל, אָדער אפילו מאַכן אייער אייגן גאַז סטאַנציע. אבער אַז זיכער איז ניט אַ יגזאָסטיוו רשימה. טשעק אויס די ספּעק פֿאַר די פול רשימה, אָדער טאָמער פאָרשלאָגן דיין אייגן צו דיין טף. דער הימל איז די שיעור. דעם איז דיין לעצטע קס50 P-שטעלן, אַזוי האָבן שפּאַס מיט עס. דעם איז געווען קס50 שוטטלע. איך 'ווע גאַט צו זאָגן, עס ס געווען אַ פאַרגעניגן געמאכט די פֿאַר איר מיט די פּראָדוקציע קאָלעקטיוו. און איך האָפֿן אַז איר 'ווע הנאה זיי, ווי געזונט. מיין נאָמען איז זאַמילאַ. און דעם איז קס50.