Welkom terug.
We hebben onze gegevens, maar het is nog steeds een beetje vies.
Ik bedoel, we hebben niet echt gefilterd. Ik geef alleen om de verhalen met meer dan honderd stemmen en we willen ook
een mooie manier om ze weer te geven.
Laten we daar dus aan werken.
Ik wil een functie maken en we noemen het create.
Aangepast hackernieuws en dit maakt aangepast hackernieuws, gaat links en stemmen ontvangen.
Waar we het hier over hebben.
Wat we hier gaan doen, is een nieuwe nieuwslijst voor hackers maken die om te beginnen leeg
is.
En voorlopig wil ik alleen de hackernieuwslijst terugsturen.
Maar binnen deze lijst wil ik alleen de tekst toevoegen en geen e-mail.
Dus bijvoorbeeld voor de links geven we alleen om de titel.
Dus hoe kunnen we dat doen?
We willen een aantal zaken doornemen.
Wat we gaan doen is vier zeggen en we zullen hier enumerate gebruiken.
Dus we krijgen een index en dan een item.
En hier gaan we opsommen.
Onthoud dat we de opsomming eerder hebben gezien, wat ons ook een index geeft.
En we gaan de links opsommen en ik zal je laten zien waarom we willen opsommen in de tweede.
Dus hier wil ik de titel van elke link pakken.
Door dit simpelweg te doen, gaan we zeggen link.
Van index.
Of minder wijzigingen aan IDEX, dat is net wat fijner.
Dus we pakken de.
Index van elke link, en we kunnen iets in mooie soep gebruiken genaamd Get Taxed, en dit zal de tekst
in de tekst krijgen.
En om ons hiermee op weg te helpen, zeg ik gewoon dat hacker dot append gebruikt en de titel aan
de lijst toevoegt.
Dus laten we eens kijken wat er gebeurt als ik dit roep.
Ik ga zeggen maak aangepast hackernieuws en we gaan het doorgeven, de links en de stemmen.
Dus laten we dit opslaan.
Oh, en het lijkt erop dat ik hier niet kan spellen, dus laten we dat oplossen.
Zou een nieuwe gematigde met E moeten zijn!
Laten we dat nog eens proberen.
Oké, geen fouten, maar we willen dit idealiter afdrukken, dus laten we zeggen.
En kijk wat we krijgen.
Ik ga dit uitvoeren.
Oké, kijk eens aan, we hebben alle teksten, de titels van onze links, dat is geweldig.
OK, maar deze titels zijn nutteloos zonder een link, toch?
En als u zich een link in een e-mail herinnert.
Wordt gedefinieerd met wat we een H ref noemen, dit h ref attribuut is de link waarop we kunnen klikken om
naar de volgende pagina of naar de pagina van deze titel te gaan.
Dus die kunnen we ook pakken en we kunnen het A noemen. F. en dit wordt gelijk.
Lengte's.
Inhoudsopgave.
En deze keer willen we de tekst niet hebben, we willen het attribuut goed hebben, zodat
we kunnen zeggen: punt halen en dan het vliegtuig pakken.
En voor het geval er geen arrestaties zijn of de link is verbroken, kunnen we een standaardwaarde geven in de tweede
parameter en ik zeg gewoon geen.
Dus dat nu dit, hoe kun je schorsen als we dit keer gewoon uitgeven, laten we zeggen dat de scheidsrechter en ik dit doen?
Kijk eens aan, we hebben alle links op de pagina, dat is geweldig, maar hoe kunnen we nu de titel en
ref combineren?
Nou, dit zou vrij eenvoudig moeten zijn, toch?
We kunnen een woordenboek gebruiken.
Dus in onze lijst kunnen we een woordenboek toevoegen dat de titel heeft, wat de titel zal zijn die we hier hebben.
En dan ook.
Heb de link.
Dat zal de Ashraf zijn.
Hierzo.
Dus hier heb je nu een woordenboek met titel en link.
Dus als ik spaar.
En voer dit opnieuw uit.
Kijk eens aan, we hebben een woordenboek met een link.
En ook een titel.
Geweldig.
Dus we pakken de informatie die we nodig hebben, we pakken de link en de tekst, geen van de andere dingen is belangrijk voor ons, maar
we hebben nog steeds de stemmen.
Dus hoe kunnen we dat doen?
De stemmen, nou, we kunnen een variabele maken of in plaats van stemmen, gewoon om het hiervan te onderscheiden, laten
we zeggen punten.
En de punten zullen zijn, nou ja, wat gaan we doen, we gaan stemmen halen.
Inhoudsopgave.
Denk eraan, we doorlopen dit.
En we gaan gewoon zeggen: laat je belasten.
Laten we nu eens kijken wat we in eerste instantie krijgen als we belasting krijgen.
Dus hier, ik ga gewoon printen.
Punten en kijken wat we krijgen en ik ga de afdruk hier verwijderen, zodat we ons voorlopig op de punten kunnen
concentreren.
Dus ik ga sparen en vluchten.
Oké, we komen daar binnen, we krijgen al deze punten, maar het lijkt erop dat ik een foutmelding
krijg dat de lijstindex buiten bereik is en dit is een beetje een probleem dat je soms moet debuggen bij het schrapen van
websites.
Maar wat hier in wezen is gebeurd, is dat er een verhaal is en dit is een speciaal verhaal dat
eigenlijk geen stemmen heeft, wat zeer zeldzaam is op de voorpagina van Hacker News.
Maar deze hier heeft geen stemmen.
Dus wat het in wezen zegt, is dat ik nooit de scores heb gepakt, de punten hiervan.
Dus technisch gezien hebben we meer links dan stemmen.
Dus tegen de tijd dat we bij de laatste link komen, is de lijst met stemmen er één minder.
Dus het gaat zeggen, hé, ik probeer de stemmen helemaal aan het einde te pakken, maar er zijn geen stemmen meer.
Deze lijst is korter dan de lijst met links.
Dus we kunnen hier even een snelle check doen om er zeker van te zijn dat wanneer we deze dingen pakken, we alleen om verhalen
met stemmen geven.
En gelukkig voor ons willen we daarom checken of een verhaal meer dan honderd punten bevat.
De manier waarop we dat gaan doen, we gaan hier nu een if-statement toevoegen voordat
we het if-statement toevoegen, we willen dit eigenlijk omzetten in een getal zodat we kunnen zeggen, hé, als
een verhaal meer heeft dan 100 honderd punten, dan willen we het behouden en toegevoegd aan ons nieuwe hackernieuws.
Dus het eerste wat we willen doen is gewoon zeggen.
Dat we dit willen omzetten naar een int.
Maar we willen ook vervangen.
De punten hier, de spatie wijst naar, nou ja, niets, dus we kunnen de puntvervangingsmethode gebruiken en gewoon
zeggen, hey, elke keer dat je spatiepunten ziet, wat we hier zien.
Ik wil dat je dat vervangt door een lege string.
Dus dit gaat voor ons een string teruggeven die een getal is en deze dan omzetten in een geheel getal.
Dus laten we het testen op.
Laten we de beugel hier sluiten.
Druk op veilig en voer ons script uit.
En daar ga je.
We hebben onze cijfers, dat is geweldig, maar nogmaals, we hebben nog steeds deze fout.
Dus wat kunnen we hier doen?