[MUSIC ప్లే] SPEAKER 1: Well, మేము, CS50 లో గత పి సెట్. కలిగి నుండి నిన్ను నీవు అభినందించేందుకు ఇప్పటివరకు వచ్చిన నుండి మీ మొదటి హలో ప్రపంచాలు మరియు ముద్రించిన మారియో కోసం పిరమిడ్లు. మీరు గత వారం ఒక వెబ్సైట్. మరియు మేము మరొక ఒక చేస్తున్నట్లు చూడాలని ఈ వారం, ఒక మీరు అనుమతించే తయారయ్యారు, హార్వర్డ్ ప్రాంగణంలో డ్రైవ్ అప్ CS50 సిబ్బంది, మరియు వాటిని తిరిగి తీసుకు వారి నివాస గృహాల. ఇప్పుడు గత వారం మేము, PHP లో పని సర్వర్ వైపు భాష. ఈ P కోసం, మేము పరిచయం చేస్తున్నారు ఒక జావాస్క్రిప్ట్, కు క్లయింట్ వైపు భాష. కాబట్టి యొక్క కొన్ని పరిశీలించి వీలు అందించిన పంపిణీ కోడ్ ఈ P సెట్ కోసం మీరు. జావాస్క్రిప్ట్ ఫోల్డర్లో, అక్కడ జావాస్క్రిప్ట్ ఫైళ్లు కొంత. ఒక కలిగి buildings.js, ఉంది హార్వర్డ్ చుట్టూ భవనాలు శ్రేణి వారి సమాచారం క్యాంపస్, మరియు స్థానం. Houses.js హార్వర్డ్ యొక్క వ్యూహం ఉంది నివాస గృహాల, వారి అక్షాంశాలు, రేఖాంశాలు. Passengers.js ఒక కలిగి ప్రయాణికుల శ్రేణి - CS50 సిబ్బంది - మీరు తిరిగి తీసుకు వస్తారు అని వారి నివాస. చాలా కలిగి Math3D.js, ఉద్యమంతో చేయడానికి విధులు. మీరు గణితశాస్త్ర minded అయితే, నేను మీరు పరిశీలించి స్వాగతం. కానీ మీరు అర్థం లేదు అక్కడ ప్రతిదీ. Shuttle.js, ఆ వ్యవహరిస్తుంది షటిల్ యొక్క ఉద్యమం. మరియు index.html హోమ్ పేజీ పేరు ప్రతిదీ, నిజంగా, నిర్మాణము యూజర్ సైట్ తో పరస్పర. Service.css CSS శైలి షీట్, ఇది, ట్విట్టర్ పాటు బూట్స్ట్రాప్ లైబ్రరీ, నియంత్రణలు ఎలా index.html కనిపిస్తోంది. మరియు తర్వాత మేము కూడా service.js, కలిగిన కోసం సేవ విధులు కలిగి షటిల్. మరియు ఇక్కడ మీరు మాత్రం చోట dos కు కొన్ని పూరించి. ఇప్పుడు వస్తువులు పరిశీలించి తెలియజేయండి మరియు JavaScript లో సహయోగ శ్రేణుల, ఇది అన్ని లక్ష్యాలు మరియు అవసరాలకు పర్యాయపదాలు. నేను ఒక వస్తువు ఒక వేరియబుల్ చేయాలని ఉంటే నేను, ఒక మంత్రదండం చేస్తుంది అని అది డిక్లేర్. మరియు నేను ఆ వంకర జంట కలుపులు లోపల కోర్ జంతువును ఉంది పేర్కొనండి. చెక్క చెర్రీ ఉంది. మరియు పొడవు 13 ఉంది. ఇప్పుడు నేను కూడా విలువలు యాక్సెస్ చేయవచ్చు ఉపయోగించి వస్తువుల సహయోగ శ్రేణి సంజ్ఞామానం. కాబట్టి మంత్రదండం ఇండెక్స్ కోర్, నేను సెట్ చేయవచ్చు ఆ జంతువును సమానంగా, లేదా నేను అవసరం ఉంటే, తనిఖీ. లేదా నేను డాట్ ఆపరేటర్లు ఉపయోగించవచ్చు. మంత్రదండం డాట్ చెక్క, చెర్రీ సమానం మరియు, మరియు. కాబట్టి మీరు చూసే సహయోగ శ్రేణుల మరియు జావాస్క్రిప్ట్ లో వస్తువులు ఉంటాయని పరస్పర మార్పిడి, మరియు విల్ చాలా ఉపయోగపడుట. అప్పుడు మేము భవనాలు వ్యూహం చూడండి buildings.js లో. మళ్ళీ, వస్తువులు యొక్క వ్యూహం. నేను ఉత్తమ వ్యూహం చేయాలని ఉంటే తర్వాత హార్వర్డ్ ప్రాంగణంలో భవనాలు, క్రింది నేను చేస్తుంది. ఈ ఆబ్జెక్ట్ నొటేషన్ ఉపయోగించి, పేరు నేను root, పేరు, చిరునామా నిల్వ, ప్రతి కోసం అక్షాంశం మరియు రేఖాంశం ఒకే భవనం వస్తువు. యొక్క త్వరగా వేరియబుల్స్ గురించి చూద్దాం జావాస్క్రిప్ట్ లో. PHP, JavaScript వేరియబుల్స్ వంటి బలహీనంగా లేదా వదులుగా టైప్. స్థానిక వేరియబుల్ సృష్టించడానికి, మీరు ఉపసర్గ V-A-R, var తో వేరియబుల్ పేరు. ఇప్పుడు జావాస్క్రిప్ట్ లో, విధులు రెడీ వేరియబుల్స్ యొక్క పరిధిని పరిమితం. కాబట్టి మీరు ఒక స్థానిక వేరియబుల్ ఉంటే ఒక ఫంక్షన్, అప్పుడు ఇతర విధులు అది యాక్సెస్ చేయలేరు. కానీ సి కాకుండా, ఉచ్చులు మరియు పరిస్థితులు లేదు ఒక వేరియబుల్ యొక్క పరిధిని పరిమితం. మీరు ఒక లోపలి ప్రకటించాలని కాబట్టి కూడా పరిస్థితి, మొత్తం ఫంక్షన్ రెడీ అది యాక్సెస్. ఇప్పుడు var లేకుండా, వేరియబుల్ ప్రపంచ ఉంటుంది. మీరు పేరు ప్రకటించి కాబట్టి ఉంటే ఒక లెక్కించాల్సి, ఆ వేరియబుల్ ప్రపంచ వేరియబుల్ ఉంటుంది జావాస్క్రిప్ట్ లో. ఇప్పుడు ఇళ్ళు, మేము ఒక అనుబంధ కలిగి హౌస్ రకం వస్తువులు, శ్రేణి పేరు ప్రతి హౌస్ కేవలం అక్షాంశానికి మరియు ఒక లాంగిట్యూడ్. అప్పుడు ప్రయాణీకులను కలిగి వ్యూహం ఇది శ్రేణి, ఆబ్జెక్ట్ రకం ప్రయాణీకుల. కాబట్టి ప్రతి ప్రయాణీకుల ఒక యూజర్పేరు ఉంది, ఒక పేరు, మరియు ఒక ఇంటి. నేను రకమైన చూసిన నేను ప్రకటనలో నిజంగా కేవలం అంటే ప్రయాణీకుల, ప్రతి వస్తువు కలిగి అదే కీ విలువ జంట. ఎందుకంటే, ప్రయాణీకుల ప్రతి వస్తువు ఉంది ఒక యూజర్ పేరు, ఒక పేరు, మరియు ఒక ఇంటి. కాబట్టి మనం చేయాలి పి సెట్ కోసం ఏమి? Well, మేము వినియోగదారుల ఎంచుకోండి అనుమతిస్తుంది అవసరం సిబ్బంది అప్, అన్ని ప్రదర్శించడానికి ప్రస్తుతం ఉన్న సిబ్బంది మా షటిల్, మరియు వాటిని ఆఫ్ డ్రాప్. మరియు తర్వాత మేము కూడా అదనపు మాట్లాడదాము కోసం అమలు చేసే లక్షణాలు షటిల్ పి సెట్. కానీ మొదటి పికప్ మాట్లాడటానికి వీలు. CS50 సిబ్బంది ముఖాలు ఉన్నాయి , ప్రాంగణంలోని అన్ని నాటిన ప్రతి ముఖం చోటు మార్క్ అమలుపరచబడుటుంది 3D భూమిపై మరియు ఒక వంటి 2D మాప్ లో మార్కర్. యూజర్ పికప్ క్లిక్ కాబట్టి బటన్, మేము సమీప జోడించాలనుకుంటే షటిల్ ప్రయాణికులను. మరియు మేము కూడా వాటి స్థానంలో తొలగించాలని ప్రపంచ నుండి గుర్తించడానికి, మరియు తొలగించడానికి వారి పటం నుండి మార్కర్, సూచిస్తుంది వారు ఇప్పుడు మా షటిల్ ఉన్నారు. కాబట్టి మేము ఎలా గుర్తించినవి ఉంటే ప్రయాణికులు మా షటిల్ పరిధిలో? బాగా, ఫంక్షన్ దూరం - కాబట్టి షటిల్ డాట్ దూరం, అక్కడ అక్షాంశం మరియు రేఖాంశం, రెడీ ప్రస్తుత నుండి దూరం లెక్కించేందుకు షటిల్ యొక్క స్థానం మీరు ఆ తో పేర్కొనే అభిప్రాయపడుతున్నారు అక్షాంశం మరియు రేఖాంశం ఇచ్చిన. కాబట్టి మీరు లెక్కించేందుకు ఈ ఉపయోగించవచ్చు కు షటిల్ నుండి దూరం ప్రయాణికులు. కానీ ఎలా మీరు తెలుసు పేరు వంతుమంది? మేము ఉంటుంది పేరు బాగా, ఆ అనువాదం బాగా ఫంక్షన్ సవరించడానికి. ప్రదేశాల్లో సిబ్బంది అన్ని జనాభాను మరియు ప్రపంచ లోకి ప్రయాణికులు, మరియు మాప్ లోకి కానీ చేస్తుంది వారి స్థానాన్ని నిల్వ. అందువలన మీరు నిల్వ చేయవచ్చు వారి మార్కులు మరియు గుర్తులను ఉంచడానికి కొన్ని అంతర్జాతీయ శ్రేణి లో. ఇప్పుడు ఇప్పటికే ప్రపంచ శ్రేణి ఉంది ప్రయాణీకులు నుండి సమాచారాన్ని నిల్వ. ప్రయాణికులు శ్రేణి దుకాణాలు ప్రతి ప్రయాణీకుల యొక్క పేరు మరియు హౌస్. కాబట్టి బహుశా మీరు కొన్ని పారామితులు జోడించవచ్చు అక్కడ ప్రయాణీకుల వస్తువులు. మాకు ప్రయాణీకులు గుర్తించి సహాయం మా షటిల్ పరిధిలో, లెట్స్ ప్రయాణికుల అన్ని ద్వారా లూప్ ప్రయాణికులు శ్రేణి లో. జావాస్క్రిప్ట్ లో ఒక కోసం లూప్ చూడండి ఉండవచ్చు కు సమానమైన ఈ వంటి ఏదో, సి లో లూప్ ఆ అందరికీ ఉపయోగించవచ్చు లూప్ నిర్మాణం కోసం ప్రత్యామ్నాయ. శ్రేణి లో var i కోసం, ఇక్కడ నేను ఇప్పటికీ ఇండెక్స్ ఉంటుంది. కానీ మీరు పేర్కొనాలి లేదు శ్రేణి డాట్ పొడవు పరిస్థితి, మరియు నేను ప్లస్ ప్లస్. ప్రతి ప్రయాణీకుల స్థానము వారి స్థానంలో మార్క్ ఇచ్చిన. కానీ స్థలం గుర్తు లేదు అక్షాంశం మరియు రేఖాంశం. మేము ద్వారా ఆ పారామితులు యాక్సెస్ ఉంటుంది గెట్ ఉపయోగించి, జ్యామితి పొందడానికి స్థానంలో గుర్తుపై జ్యామితికి. మరియు తర్వాత మేము, జ్యామితి ఒకసారి అక్షాంశం లేదా గాని పొందడానికి రేఖాంశము ఆ విధులు ఉపయోగించి. కాబట్టి ఇప్పుడు మేము అనే గుర్తించడం ఎలా ప్రయాణికులు లోపల మా షటిల్ పరిధి. మేము ఆ ప్రయాణీకులకు ఒకసారి, మేము అని ఏ ప్రయాణికులు జోడించాలనుకుంటే ఆ పరిధిలో. మేము వాటిని న హాప్ మీకిష్టం, మరియు మా షటిల్ ఒక స్థానాన్ని, కానీ మాత్రమే మేము వాటిని తగినంత గది ఉంటే. షటిల్ డాట్ సీట్లు శ్రేణి రెడీ సీట్లు ఖాళీగా ఉన్నాయి, లేదా అని సూచించడానికి ఆ సీటు లో ఉంది. కాబట్టి ఒక సీటు ఖాళీగా, అప్పుడు ఉంటే ఆ సీటు శూన్య ఉంటుంది. కాబట్టి సీట్లు శ్రేణి మీద iterate, నిల్వ, ఖాళీ సీట్లు కోసం తనిఖీ మీరు వరకు ఆ కుర్చీలలో ప్రయాణికులు ఏ ఖాళీ సీట్లు లేదు. మరియు దురదృష్టవశాత్తు, ఏ ఇతర ప్రయాణీకులు కోసం వేచి ఉంటుంది తదుపరి సమయంలో షటిల్ వచ్చే. వారు షటిల్ ను ఒకసారి, మేము చెయ్యవచ్చును వారి స్థానంలో గుర్తును తొలగించడానికి ఇది 3D ప్రపంచంలో వారి ఫోటో ఉంది. నేను ఒక స్థానంలో మార్క్ p తొలగించడానికి కోరుకున్నాడు, అయితే నేను లక్షణాలను జరుగుతుందని నా భూమి నుండి, Google Earth నుండి, మరియు ఆ నిర్దిష్ట స్థానం తొలగించి removeChild ఫంక్షన్ ఉపయోగించి గుర్తించండి. అప్పుడు చివరగా, యొక్క మార్కర్ తొలగించడానికి, ఏ కోసం 2D మాప్ లో ఐకాన్ మేము తయారయ్యారు అని ప్యాసింజర్. ఒక మార్కర్, m తొలగించేందుకు, అప్పుడు నేను కేవలం m డాట్ setMap శూన్య అమలు. పరిధిలో ఏ ప్రయాణీకులకు ఈ చేయండి, మరియు మీరు పికప్ పూర్తి చేసిన.