/ / Javascript-array om een ​​onbeperkt aantal variabelen op te slaan

Javascript-array om een ​​onbeperkt aantal variabelen op te slaan

JavaScript is een browsertaal, dus niet elkede taak heeft zijn eigen variabelen, arrays en objecten nodig. In veel gevallen is het voldoende om simpelweg het DOM (Document Object Model) te gebruiken. Maar zelfs in dergelijke gevallen maakt de juiste beschrijving van de gebruikte gegevens het programma altijd perfecter, handiger in gebruik en daaropvolgende verfijning.

JavaScript-array

Woorden zijn belangrijk, maar als je iets in het programma een naam geeftwat onderhevig is aan gebruik en verandering, is het passend om ons te beperken tot de woorden "gegevens" en "variabelen". Welnu, wat ze zullen zijn - JavaScript Array, Object of gewoon Integer - hangt af van de taak, meer bepaald van de specifieke plaats erin.

Code en datalogica

Programmeurs zijn gewend om gegevens te manipuleren.Er waren en tot op de dag van vandaag zijn er variabelen in een breed scala aan representaties (strings, symbolen, getallen, datums ...), in de regel werden arrays en (de laatste decennia) objecten afzonderlijk gepositioneerd.

JavaSscript-elementarray

Op een bepaald moment, sterk typendgegevens zijn een overblijfsel geworden en nu kunnen de gegevens in elke moderne taal niet alleen de inhoud, maar ook het type veranderen. Goed of slecht, het zal worden gezien, maar sterk typen heeft zijn positieve eigenschappen. Als het echter zo is, waarom "rattype" u dan niet het hele proces?

Semantisch, dat wil zeggen, buitensyntaxis, alle variabelen zijn van belang. En het verandert in elke stand van zaken. De volgorde van wijzigingen is al een grootheid, wat in JavaScript-termen een elementarray is.

Met andere woorden, als de programmeur besloot om niet toe te voegenwaarden naar het type van een variabele en zet de taal op de zorg voor de juiste en tijdige conversie van typen, waarom dan helemaal niet vereenvoudigen: er zijn alleen gegevens en wat ze zullen zijn op het punt van toepassing - een getal , string, array of object - het is aan de code om te beslissen. Nog juister: het gegeven zou op zich moeten bepalen wat ermee gedaan kan worden en hoe precies.

Eenvoudige gegevens en syntaxis

Eenvoudige variabelen zijn van verschillende typen. Typeconversies worden automatisch uitgevoerd wanneer dat nodig is.

Eenvoudig voorbeeld van eenvoudige syntaxis

Dit voorbeeld beschrijft een eenvoudige variabele s, inwat het resultaat zal zijn van het werken met JavaScript Array aCheck. De variabele i wordt direct beschreven in de aCheck-lus. Hier zijn de array-elementen (gemaakt met behulp van de JavaScript Array push-constructie) drie verschillende soorten waarden. De eerste lus drukt de namen van de typen af ​​in de tekenreeks s, de tweede - de werkelijke waarden. De typeconversie gebeurt automatisch.

JavaSscript-array push

Over het aantal elementen in arrays

In JavaScript is Array geen associatieve array. Elementen zijn toegankelijk via numerieke toetsen, het maximale aantal elementen is 232, maar je moet niet experimenteren met de beperkte hoeveelheden elementen.

Een goed algoritme heeft altijd een waarneembare hoeveelheid gegevens en de constructie van JavaSscript-arraylengte is in de syntaxis geïntroduceerd, helemaal niet om de grootte van de array in de context van de inhoud ervan te regelen.

De aCheck-waarde.lengte zal niet altijd het werkelijke aantal elementen zijn. In JavaScript kan een array zoveel bevatten en wat daarheen is verzonden, maar soms moet je hard werken om erachter te komen hoeveel.

Het aantal elementen komt niet altijd overeen met de werkelijkheid

In dit voorbeeld verhoogt de expressie aCheck [5] de array tot zes elementen. De hoop dat de lengtefunctie de waarde 4 zal geven, is niet gerechtvaardigd.

Associatieve arrays

Formeel kan JavaScript-array alleen gewoon zijn, dat wil zeggen dat de elementen toegankelijk zijn via numerieke indices. In werkelijkheid kunt u echter associatieve ideeën gebruiken.

Heel eenvoudig, klassiek sorteren

Een heel eenvoudige en alledaagse taak om strings te sorterentabellen per kolom kunnen worden opgelost via een associatieve array. Een punt in een cirkel naast een kolomnaam betekent niet sorteren, een pijl omhoog - in aflopende volgorde en een pijl omlaag - in oplopende volgorde. Door op een kolom te klikken verandert de richting (JavaScript-implementatie: Sort Array).

Sorteer implementatie

In dit voorbeeld wordt de array cSortCols gevormdsorteerrichtingen voor elke kolom (S, C, W, ...). Richting waarden alleen u, d. In de for in constructie is alles op één lijn gestikt (zowel de kolomcode als de sorteerrichting). Deze lus loopt door alle elementen van de array en het is niet nodig om de JavaScript-array-lengtefunctie te gebruiken.

JavaScript-sorteermatrix

JavaScript-array maken en sorteren

Het is een goede gewoonte om "var xMass = [];" te schrijven. of"var yArr = {};". In het eerste geval wordt een gewone array gedefinieerd, in het tweede geval een associatieve. U kunt ook de JavaScript-variant New Array () gebruiken, maar deze constructie wordt meestal voor andere doeleinden gebruikt, voornamelijk voor het werken met objecten.

De gemaakte array kan onmiddellijk worden gevuldvariabelen, maar in de regel het daadwerkelijke vullen en manipuleren van de array in dynamics, tijdens de uitvoering van het programma. Als u moet sorteren, kunt u de JavaScript Sort Array-constructie gebruiken, die niet flexibel is, maar u in staat stelt het proces via zijn eigen functie te besturen.

Aanroepen: arr.sort () sorteert in ASCII-tekenvolgorde. Omgekeerde functie - permutaties van elementen: arr.reverse (). Deze functie keert de volgorde van de array-elementen om.

In beide gevallen staat het woord arr voor een array.In het eerste geval kunt u uw eigen sorteerfunctie gebruiken, d.w.z. door arr.sort (myfunc (a, b)) aan te roepen, wordt uw eigen functie myfuct aangeroepen, die het resultaat zou moeten retourneren, afhankelijk van de gegevens: a en b. Als de eerste kleiner is dan de tweede, dan -1, als omgekeerd, dan 1, en als a = b, dan 0. Hier wordt het vergelijkingscriterium gedefinieerd door de programmeur in de functie myfunc.

JavaScript nieuwe array

Actief element idee

Een functie die tijdens het sorteerproces wordt aangeroepen, kan:verschillende acties uitvoeren. Vanuit het oogpunt van de constructie waarin het wordt toegepast, hoeft het niet te reageren op invoerparameters, en het resultaat is niet alleen de drie getallen -1, 1 en 0. Wanneer het in een array cyclisch op elk element wordt toegepast, het kan de array opnieuw opbouwen.

Als we ons voorstellen dat een array een bepaalde betekenis heeft, een bepaalde datastructuur, dan verandert JavaScript Array in een variabele met veranderlijke inhoud.

Als we uitgaan van het gebruik van de eerste ofhet laatste element van de array als zijn inhoud, dan kan de uitvoering van de sort-functie de array transformeren zodat het eerste / laatste element een ander element zal zijn, zoals vereist door de voorwaarden van het probleem.

Met een dergelijk idee kan het algoritme opnieuw worden opgebouwdoplossingen zodanig dat het niet nodig is om de constructies if () {} else {} en switch () {case "": ...; geval "": ...; ...}.

Door de inhoud van een array te manipuleren, kunt u elementen erin verplaatsen, waardoor de externe functionaliteit verandert die u door het eerste of laatste element kunt krijgen.

JavaScript-array lengte

JavaScript-array: onlogisch gebruik

Elke taal is goed omdat het niet alleenverander de structuur en inhoud van de data, maar ook de eigenlijke code. Het idee om een ​​variabele als een abstractie te beschouwen, dat wil zeggen, in eerste instantie zonder te voorzien in zijn typische status, opent nieuwe horizonten.

Beginnend met een abstractie, kunt u met een variabele, array of object het proces van gegevensverwerking weergeven als een functie van deze gegevens, en in dynamiek.

Als u bijvoorbeeld de tekst leest, kunt u het gegeven beschrijven"tekst", die in zinnen wordt opgesplitst - het "punt"-criterium (in context, dat wil zeggen, rekening houdend met de geaccepteerde syntaxis van zinnen). Zinnen worden opgesplitst in zinnen (in context, komma en bijbehorende syntaxis). Verdere woorden en letters.

Resultaat:je kunt werken op het niveau van teksten, zinnen, woorden. Op elk niveau kunt u "uniekheids"-functies maken, waarmee u naar soortgelijke of soortgelijke kunt zoeken. U kunt functies maken voor het toepassen van zinnen, zinnen op andere gegevens.

Modern programmeren is geen dogma

Modern programmeren is niet langer een dogma, maarhet feit dat syntactische constructies die in de afgelopen decennia zijn gemaakt en de opgedane ervaring nieuwe horizonten openen die taalontwikkelaars niet hadden voorzien, moet nog worden ontdekt en gebruikt.