/ / Javascript Array for at gemme et ubegrænset antal variabler

Javascript Array til at gemme et ubegrænset antal variabler

JavaScript er et browsersprog, så ikke alleopgaven har brug for sine egne variabler, arrays og objekter. I mange tilfælde er det ganske tilstrækkeligt blot at bruge DOM (Document Object Model). Men selv i sådanne tilfælde gør den korrekte beskrivelse af de anvendte data altid programmet mere perfekt, mere praktisk at bruge og efterfølgende forbedring.

JavaScript-array

Ord betyder noget, men når du navngiver noget i programmethvad der er underlagt brug og ændring, er det passende at begrænse os til ordene "data" og "variabler". Nå, hvad de vil være - JavaScript Array, Object eller bare Integer - afhænger af opgaven, mere præcist af det specifikke sted i den.

Kode og datalogik

Programmører er vant til at manipulere data.Der var og den dag i dag er der variabler i en lang række repræsentationer (strenge, symboler, tal, datoer ...), som regel blev arrays og (i de sidste par årtier) objekter placeret hver for sig.

JavaSscript element array

På et eller andet tidspunkt, stærk skrivningdata er blevet en relikvie, og nu på alle moderne sprog kan dataene ikke kun ændre indholdet, men også typen. Godt eller dårligt, det ses, men stærk skrivning har sine positive egenskaber. Men hvis det så skete, hvorfor så ikke "gentrykke" hele processen overhovedet?

Semantisk, det vil sige udenforsyntaks, enhver variabel betyder noget. Og det ændrer sig i enhver tilstand. Ændringssekvensen er allerede en mængde, som i JavaScript-termer er elementarray.

Med andre ord, hvis programmøren besluttede ikke at tilføjeværdier til typen af ​​en variabel og læg på sproget pleje af korrekt og rettidig konvertering af typer, så hvorfor ikke forenkle overhovedet: der er bare data, og hvad de vil være på applikationsstedet - et tal , streng, array eller objekt - det er op til koden at afgøre. Endnu mere korrekt: det givne skal i sig selv bestemme, hvad der kan gøres med det, og hvordan præcist.

Enkle data og syntaks

Enkle variabler er af forskellige typer. Typekonverteringer udføres automatisk, når behovet opstår.

Enkelt eksempel på enkel syntaks

Dette eksempel beskriver en simpel variabel s, isom vil være resultatet af arbejdet med JavaScript Array aCheck. Variablen i er beskrevet direkte i aCheck-sløjfen. Her er arrayelementerne (oprettet ved hjælp af JavaScript Array push-konstruktionen) tre forskellige typer værdier. Den første sløjfe udskriver navnene på typerne i strengene s, den anden - de faktiske værdier. Typekonvertering udføres automatisk.

JavaSscript-array skub

Om antallet af elementer i arrays

I JavaScript er Array ikke et associerende array. Du får adgang til elementerne med de numeriske taster, det maksimale antal elementer er 232, men du bør ikke eksperimentere med de begrænsende mængder af elementer.

En god algoritme har altid en observerbar mængde data, og JavaSscript Array-længdekonstruktionen blev introduceret i syntaksen for slet ikke at styre størrelsen på arrayet i sammenhæng med dets indhold.

ACheck-værdien.længde vil ikke altid være det reelle antal elementer. I JavaScript kan en matrix indeholde så meget, og hvad der blev sendt der, men nogle gange skal du arbejde hårdt for at finde ud af, hvor meget.

Antallet af elementer svarer ikke altid til virkeligheden

I dette eksempel forøger udtrykket aCheck [5] arrayet til seks elementer. Håbet om, at længdefunktionen giver værdien 4, er ikke berettiget.

Associerende arrays

Formelt kan JavaScript Array kun være almindeligt, det vil sige elementerne er tilgængelige med numeriske indekser. I virkeligheden kan du dog bruge associerende ideer.

Meget enkel, klassisk sortering

En meget enkel og verdslig opgave med at sortere strengetabeller efter kolonner kan løses gennem et associerende array. En prik i en cirkel ved siden af ​​et kolonnenavn betyder ingen sortering, en pil op - i faldende rækkefølge og en pil ned - i stigende rækkefølge. Klik på en kolonne skifter retning (JavaScript-implementering: Sort Array).

Sortering af implementering

I dette eksempel dannes array cSortColssorteringsvejledning for hver kolonne (S, C, W, ...). Retningsværdier kun u, d. I for i konstruktion sys alt i en linje (både kolonnekoden og sorteringsretningen). Denne sløjfe sløjfer gennem alle elementerne i arrayet, og der er ikke behov for at bruge JavaScript Array længdefunktionen.

JavaScript sorteringsarray

Oprettelse og sortering af JavaScript-array

Det er en god praksis at skrive "var xMass = [];" eller"var yArr = {};". I det første tilfælde vil en almindelig matrix blive defineret, i det andet tilfælde - en associerende. Du kan også bruge JavaScript New Array () -varianten, men normalt bruges denne konstruktion til andre formål, primært til at arbejde med objekter.

Det oprettede array kan udfyldes med det sammevariabler, men som regel den faktiske udfyldning og manipulation af arrayet i dynamik under udførelsen af ​​programmet. Hvis du har brug for sortering, kan du bruge JavaScript Sort Array-konstruktionen, som ikke er fleksibel, men som giver dig mulighed for at styre processen gennem sin egen funktion.

Opkald: arr.sort () sorterer i ASCII-tegnrækkefølge. Den omvendte funktion er at tillade elementer: arr. Omvendt (). Denne funktion vender rækkefølgen af ​​arrayelementerne.

I begge tilfælde står ordet arr for en matrix.I det første tilfælde kan du bruge din egen sorteringsfunktion, det vil sige at ringe til arr.sort (myfunc (a, b)) kalder din egen funktion myfuct, som skal returnere resultatet afhængigt af dataene: a og b. Hvis den første er mindre end den anden, så -1, hvis omvendt, så 1, og hvis a = b, så 0. Her er sammenligningskriteriet defineret af programmøren i myfunc-funktionen.

JavaScript nyt array

Aktivt element idé

En funktion, der kaldes under sorteringsprocessen kanudføre forskellige handlinger. Fra synspunktet for konstruktionen, hvori det anvendes, behøver det ikke at reagere på inputparametre, og dets resultat er ikke kun de tre tal -1, 1 og 0. Når det anvendes i en matrix cyklisk på hvert element, det kan genopbygge arrayet.

Hvis vi forestiller os, at en matrix er en bestemt betydning, en bestemt datastruktur, bliver JavaScript Array til en variabel med ændret indhold.

Hvis vi tager udgangspunkt i brugen af ​​den første ellerdet sidste element i arrayet som dets indhold, så kan udførelsen af ​​sorteringsfunktionen transformere arrayet, så det første / sidste vil være et andet element, som krævet af betingelserne for problemet.

En sådan idé kan muliggøre genopbygning af algoritmenløsninger på en sådan måde, især at der ikke er behov for at bruge konstruktionerne, hvis () {} ellers {} og switch () {case "": ...; sag "": ...; ...}.

Ved at manipulere indholdet af en matrix kan du flytte elementer i den og derved ændre den eksterne funktionalitet, som du kan få gennem det første eller sidste element.

JavaScript array længde

JavaScript Array: ulogisk brug

Ethvert sprog er godt, fordi det ikke kun tillader detændre strukturen og indholdet af dataene, men også den faktiske kode. Ideen om at betragte en variabel som en abstraktion, dvs. oprindeligt uden at give den typiske status, åbner nye horisonter.

Startende med en abstraktion giver en variabel, matrix eller objekt dig mulighed for at repræsentere databehandlingsprocessen som en funktion af disse data og i dynamik.

For eksempel ved at læse teksten kan du beskrive det givne"tekst", som vil blive opdelt i sætninger - "dot" -kriteriet (i sammenhæng, dvs. under hensyntagen til den accepterede syntaks af sætninger). Sætninger opdeles i sætninger (i sammenhæng, komma og tilsvarende syntaks). Yderligere ord og bogstaver.

Resultat:du kan arbejde på niveau med tekster, sætninger, ord. På hvert niveau kan du oprette "unikke" funktioner, som giver dig mulighed for at søge efter lignende eller lignende. Du kan oprette funktioner til at anvende sætninger, sætninger på andre data.

Moderne programmering er ikke et dogme

Moderne programmering er ikke længere et dogme, mendet faktum, at syntaktiske konstruktioner, der er skabt i løbet af de sidste årtier, og den akkumulerede erfaring åbner nye horisonter, som sprogudviklerne ikke forudser, skal stadig opdages og bruges.