JavaScript är ett webbläsarspråk, så inte allauppgiften behöver sina egna variabler, matriser och objekt. I många fall är det helt tillräckligt att helt enkelt använda DOM (Document Object Model). Men även i sådana fall gör den korrekta beskrivningen av de data som används alltid programmet mer perfekt, bekvämare att använda och efterföljande förfining.
Ord spelar roll, men när du nämner något i programmetvad som är föremål för användning och förändring, är det lämpligt att begränsa oss till orden "data" och "variabler". Tja, vad de kommer att vara - JavaScript Array, Object eller bara Integer - beror på uppgiften, mer exakt på den specifika platsen i den.
Kod och datalogik
Programmerare används för att manipulera data.Det fanns och fram till i dag finns det variabler i ett stort antal representationer (strängar, symboler, siffror, datum ...), som regel var arrayer och (under de senaste decennierna) objekt placerade separat.
Vid någon tidpunkt, stark skrivningdata har blivit en relik, och nu på alla moderna språk kan uppgifterna inte bara ändra innehållet utan också typen. Bra eller dåligt, det kommer att ses, men stark skrivning har sina positiva egenskaper. Men om det så hände, varför inte "rattypa" hela processen alls?
Semantiskt, det vill säga utanförsyntax, alla variabler är viktiga. Och det förändras i alla situationer. Ändringssekvensen är redan en kvantitet, som i JavaScript-termer är elementmatris.
Med andra ord, om programmeraren bestämde sig för att inte lägga tillvärden för typen av en variabel och sätt på språket vård av korrekt och snabb konvertering av typer, varför inte alls förenkla: det finns bara data, ja, vad de kommer att vara vid applikationsplatsen - en nummer, sträng, matris eller objekt - det är upp till koden att avgöra. Ännu mer korrekt: det givna ska i sig avgöra vad som kan göras med det och hur exakt.
Enkel data och syntax
Enkla variabler är av olika slag. Typkonvertering utförs automatiskt när behovet uppstår.
Detta exempel beskriver en enkel variabel s, ivilket kommer att bli resultatet av arbetet med JavaScript Array aCheck. Variabeln i beskrivs direkt i aCheck-slingan. Här är arrayelementen (skapade med JavaScript Array push-konstruktionen) tre olika typer av värden. Den första slingan skriver ut namnen på typerna i strängarna s, den andra - de faktiska värdena. Typkonverteringen görs automatiskt.
Om antalet element i matriser
I JavaScript är Array inte en associerande matris. Element nås med siffertangenterna, det maximala antalet element är 232, men du bör inte experimentera med de begränsande mängderna av element.
En bra algoritm har alltid en observerbar mängd data, och JavaSscript Array-längdkonstruktionen introducerades i syntaxen inte alls för att kontrollera storleken på arrayen i sammanhanget med dess innehåll.
ACheck-värdet.längden kommer inte alltid att vara det verkliga antalet element. I JavaScript kan en matris innehålla så mycket och vad som skickades dit, men ibland måste du arbeta hårt för att ta reda på hur mycket.
I det här exemplet ökar uttrycket aCheck [5] arrayen till sex element. Förhoppningarna att längdfunktionen ger värdet 4 är inte motiverade.
Associerande matriser
Formellt kan JavaScript Array bara vara vanligt, det vill säga att elementen nås genom numeriska index. I verkligheten kan du dock använda associativa idéer.
En mycket enkel och vardaglig uppgift att sortera strängartabeller efter kolumner kan lösas genom en associerande matris. En punkt i en cirkel bredvid ett kolumnnamn betyder ingen sortering, en uppåtpil - i fallande ordning och en nedåtpil - i stigande ordning. Genom att klicka på en kolumn ändras riktning (JavaScript-implementering: Sort Array).
I det här exemplet bildas array cSortColssorteringsanvisningar för varje kolumn (S, C, W, ...). Riktningsvärden endast u, d. Under konstruktionen sys allt i en rad (både kolumnkoden och sorteringsriktningen). Den här slingan slingrar genom alla element i matrisen, och det finns inget behov av att använda JavaScript Array-längdfunktionen.
Skapande och sortering av JavaScript-matriser
Det är en trevlig övning att skriva "var xMass = [];" eller"var yArr = {};". I det första fallet kommer en vanlig matris att definieras, i det andra fallet - en associerande. Du kan också använda JavaScript New Array (), men vanligtvis används denna konstruktion för andra ändamål, främst för att arbeta med objekt.
Den skapade matrisen kan fyllas omedelbartvariabler, men som regel den faktiska fyllningen och manipuleringen av matrisen i dynamik under genomförandet av programmet. Om du behöver sortera kan du använda JavaScript Sort Array-konstruktionen, som inte är flexibel men låter dig styra processen genom sin egen funktion.
Ringer: arr.sort () sorterar i ASCII-teckenordning. Omvänd funktion - permutationer av element: arr.revers (). Denna funktion vänder ordningen på arrayelementen.
I båda fallen står ordet arr för en matris.I det första fallet kan du använda din egen sorteringsfunktion, det vill säga att ringa arr.sort (myfunc (a, b)) kommer att kalla din egen funktion myfuct, som ska returnera resultatet beroende på data: a och b. Om den första är mindre än den andra, då -1, om vice versa, då 1, och om a = b, då 0. Här definieras jämförelsekriteriet av programmeraren i myfunc-funktionen.
Aktiv elementidé
En funktion som anropas under sorteringsprocessen kanutföra olika åtgärder. Ur konstruktionens synvinkel behöver den inte svara på ingångsparametrar, och dess resultat är inte bara de tre siffrorna -1, 1 och 0. När de tillämpas i en grupp cykliskt på varje element, det kan bygga om arrayen.
Om vi föreställer oss att en matris är en viss betydelse, en viss datastruktur, förvandlas JavaScript Array till en variabel med muterbart innehåll.
Om vi tar utgångspunkten för användningen av den första ellerdet sista elementet i matrisen som dess innehåll, då kan exekveringen av sorteringsfunktionen omvandla matrisen så att det första / sista elementet blir ett annat element, vilket krävs av villkoren för problemet.
En sådan idé kan göra det möjligt att bygga om algoritmen.lösningar på ett sådant sätt, särskilt att det inte finns något behov av att använda konstruktionerna om () {} annat {} och växla () {case "": ...; fall "": ...; ...}.
Genom att manipulera innehållet i en matris kan du flytta element i den och därigenom ändra den externa funktionaliteten som du kan få genom det första eller sista elementet.
JavaScript Array: ologisk användning
Vilket språk som helst är bra eftersom det inte bara tillåter detändra datastrukturen och innehållet, men också den faktiska koden. Idén att betrakta en variabel som en abstraktion, det vill säga inledningsvis utan att ge dess typiska status, öppnar nya horisonter.
Från och med en abstraktion låter en variabel, matris eller objekt dig representera databearbetningsprocessen som en funktion av dessa data och i dynamik.
När du till exempel läser texten kan du beskriva det givna"text", som kommer att delas upp i meningar - "dot" -kriteriet (i sammanhang, det vill säga med hänsyn till den accepterade syntaxen för meningar). Meningar kommer att delas upp i fraser (i sammanhang, komma och motsvarande syntax). Ytterligare ord och bokstäver.
Resultat:du kan arbeta på nivå med texter, meningar, ord. På varje nivå kan du skapa "unika" funktioner som gör att du kan söka efter liknande eller liknande. Du kan skapa funktioner för att tillämpa meningar, fraser på andra data.
Modern programmering är inte längre ett dogm utandet faktum att syntaktiska konstruktioner som skapats under de senaste decennierna och den ackumulerade erfarenheten öppnar nya horisonter som språkutvecklarna inte har förutsett, kan fortfarande upptäckas och användas.