JavaScript je jazyk prohlížeče, takže ne každýúkol potřebuje vlastní proměnné, pole a objekty. V mnoha případech postačí jednoduše použít DOM (Document Object Model). Ale i v takových případech správný popis použitých dat vždy činí program dokonalejším, pohodlnějším pro použití a následné upřesnění.
Na slovech záleží, ale když něco v programu pojmenujeteco je předmětem použití a změny, je vhodné omezit se na slova „data“ a „proměnné“. Co to bude - JavaScript Array, Object nebo prostě Integer - záleží na úkolu, přesněji na konkrétním místě v něm.
Logika kódu a dat
Programátoři jsou zvyklí manipulovat s daty.Existovaly a dodnes existují proměnné v široké škále reprezentací (řetězce, symboly, čísla, data ...), zpravidla byla pole a (za posledních několik desetiletí) umístěna samostatně.
V určitém okamžiku silné psanídata se stala relikvií a nyní v každém moderním jazyce mohou data měnit nejen obsah, ale i typ. Dobré nebo špatné, to se uvidí, ale silné psaní má své pozitivní vlastnosti. Pokud se to však stalo, proč tedy celý proces „nenasypovat“?
Sémanticky, tedy venkuna syntaxi, na jakékoli proměnné záleží. A mění se v jakémkoli stavu věcí. Sekvence změn je již veličina, což je z hlediska JavaScriptu pole prvků.
Jinými slovy, pokud se programátor rozhodl nepřidávathodnoty typu proměnné a dát jazyku pozor na správnou a včasnou konverzi typů, tak proč vůbec nezjednodušit: jsou tam jen data, no, jaké budou v okamžiku aplikace - a číslo, řetězec, pole nebo objekt - je na rozhodnutí kódu. Ještě správnější: daný by měl sám o sobě určit, co a jak s ním lze udělat.
Jednoduchá data a syntaxe
Jednoduché proměnné jsou různých typů. Převody typu se provádějí automaticky, když je potřeba.
Tento příklad popisuje jednoduchou proměnnou s, vkterý bude výsledkem práce s JavaScript Array aCheck. Proměnná i je popsána přímo ve smyčce aCheck. Zde jsou prvky pole (vytvořené pomocí konstrukce JavaScript Array push) tři různé typy hodnot. První smyčka vytiskne názvy typů na řetězec s, druhá - skutečné hodnoty. Převod typu se provádí automaticky.
O počtu prvků v polích
V JavaScriptu není pole asociativní pole. K prvkům se přistupuje pomocí numerických kláves, maximální počet prvků je 232, ale neměli byste experimentovat s omezujícím množstvím prvků.
Dobrý algoritmus má vždy pozorovatelné množství dat a konstrukce délky JavaSscript Array byla zavedena do syntaxe vůbec, aby kontrolovala velikost pole v kontextu jeho obsahu.
Hodnota aCheck.délka nebude vždy skutečný počet prvků. V JavaScriptu může pole obsahovat tolik a co tam bylo odesláno, ale někdy musíte tvrdě pracovat, abyste zjistili, kolik.
V tomto příkladu výraz aCheck [5] zvýší pole na šest prvků. Naděje, že funkce délky dá hodnotu 4, nejsou oprávněné.
Asociativní pole
Formálně může být pole JavaScriptu pouze obyčejné, to znamená, že k prvkům se přistupuje pomocí číselných indexů. Ve skutečnosti však můžete použít asociativní nápady.
Velmi jednoduchý a pozemský úkol třídění řetězcůtabulky podle sloupců lze vyřešit pomocí asociativního pole. Tečka v kruhu vedle názvu sloupce znamená žádné řazení, šipka nahoru - v sestupném pořadí a šipka dolů - ve vzestupném pořadí. Kliknutím na sloupec změníte směr (implementace JavaScriptu: Sort Array).
V tomto příkladu je vytvořeno pole cSortColssměry třídění pro každý sloupec (S, C, W, ...). Směrové hodnoty pouze u, d. V případě for in construction je vše sešité do jednoho řádku (kód sloupce i směr řazení). Tato smyčka prochází všemi prvky pole a není nutné používat funkci délky pole JavaScriptu.
Vytváření a třídění pole JavaScript
Je příjemnou praxí psát „var xMass = [];“ nebo"var yArr = {};". V prvním případě bude definováno běžné pole, ve druhém případě asociativní. Můžete také použít variantu JavaScript New Array (), ale obvykle se tato konstrukce používá pro jiné účely, zejména pro práci s objekty.
Vytvořené pole lze okamžitě vyplnitproměnné, ale zpravidla skutečné plnění a manipulace s polem v dynamice během provádění programu. Pokud potřebujete třídění, můžete použít konstrukt JavaScript Sort Array, který není flexibilní, ale umožňuje vám řídit proces pomocí jeho vlastní funkce.
Volání: arr.sort () seřadí v pořadí znaků ASCII. Reverzní funkce - permutace prvků: arr. Reverzní (). Tato funkce obrací pořadí prvků pole.
V obou případech slovo arr znamená pole.V prvním případě můžete použít vlastní funkci řazení, tj. Volání arr.sort (myfunc (a, b)) zavolá vaši vlastní funkci myfuct, která by měla vrátit výsledek v závislosti na datech: a a b. Pokud je první menší než druhý, pak -1, pokud naopak, pak 1, a pokud a = b, pak 0. Zde je kritérium srovnání definováno programátorem ve funkci myfunc.
Myšlenka aktivního prvku
Funkce volaná během procesu třídění můžeprovádět různé akce. Z hlediska konstruktu, ve kterém je aplikován, nemusí reagovat na vstupní parametry a jeho výsledkem nejsou jen tři čísla -1, 1 a 0. Při cyklické aplikaci v poli na každý prvek, může znovu sestavit pole.
Pokud si představíme, že pole má určitý význam, určitou datovou strukturu, pak se JavaScript Array promění v proměnnou s proměnlivým obsahem.
Bereme-li jako základ použití prvního respposlední prvek pole jako jeho obsah, pak provedení funkce třídění může transformovat pole tak, že první / poslední bude jiný prvek, jak to vyžadují podmínky problému.
Takový nápad může umožnit nové sestavení algoritmuřešení zejména takovým způsobem, že není nutné používat konstrukce if () {} else {} a switch () {case "": ...; případ "": ...; ...}.
Manipulací s obsahem pole můžete přesouvat prvky v něm, čímž měníte externí funkce, které můžete získat prostřednictvím prvního nebo posledního prvku.
Pole JavaScript: nelogické použití
Jakýkoli jazyk je dobrý, protože umožňuje nejenzměnit strukturu a obsah dat, ale také skutečný kód. Myšlenka považovat proměnnou za abstrakci, tj. Zpočátku bez zajištění jejího typického stavu, otevírá nové obzory.
Počínaje abstrakcí vám proměnná, pole nebo objekt umožňují reprezentovat proces zpracování dat jako funkci těchto dat a v dynamice.
Například při čtení textu můžete popsat dané„text“, který bude rozdělen na věty - kritérium „tečka“ (v kontextu, tj. s ohledem na akceptovanou syntaxi vět). Věty budou rozděleny do frází (v kontextu, čárka a odpovídající syntaxe). Další slova a písmena.
Výsledek:můžete pracovat na úrovni textů, vět, slov. Na každé úrovni můžete vytvořit funkce „jedinečnosti“, které vám umožní hledat podobné nebo podobné. Můžete vytvořit funkce pro použití vět a frází na další data.
Moderní programování již není dogmatem, aleskutečnost, že syntaktické konstrukce vytvořené v posledních desetiletích a nashromážděné zkušenosti otevírají nové obzory, které vývojáři jazyků nepředpokládají, je stále třeba objevovat a používat.