/ / JS foreach objekt jako konstrukce variant

JS foreach objekt jako návrh variant

Syntaxe jazyka JavaScript umožňuje kombinovat proměnné do polí a objektů. Přístup k prvkům lze získat pomocí indexů a jmen pomocí operátorů smyček.

Není však vždy možné znát počet prvků ve sbírce ve fázi návrhu a není vždy vhodné používat syntaxi jazyka v rámci sémantiky, kterou poskytuje.

Klasické vzory

Obvyklé příkazy smyčky "pro (var i = 0; i

var i = 0;
zatímco (typAdata [i]! = "undefined") {... aData [i]; ... i ++; },

kdy počet prvků není znám.

JS foreach

Můžete také sestavit jiné algoritmy pro plnění a zpracování polí, ale je mnohem pohodlnější používat nové, moderní možnosti.

Klasiky jsou dobré, když potřebujete zpracovat dotazníky(jméno, příjmení, jméno, příjmení), karty vybavení (model, výrobce, prodejce, datum prodeje) a další údaje, které se nemění strukturálně a představují souhrnný zájem.

Když prvek pole je sám o sobě předmětem nebo strukturou, má své vlastní vlastnosti a metody, pak se klasiky nemohou vyrovnat s dynamikou kvantity a kvality a pole má jiný význam.

Cykly pro každý prvek

V dynamice se projevujepole vlastností aktuálního prvku. Konstrukce pole foreach JS, která se poněkud liší od verze obvyklé (přijatelné v jiných jazycích), umožňuje pole zobrazit vlastnosti prostřednictvím aktuálního prvku.

Řekněme, že jedno pole obsahuje cesty (jejichkvalitativní a kvantitativní charakteristiky) a další pole - automobily, které mohou cestovat pouze na určitých silnicích a mají různé objemy palivových nádrží, to znamená, že vzdálenosti mezi čerpacími stanicemi mají také význam.

V této variantě by měl být vhodný algoritmusVezměte například jako základ cestu a vyberte si vozy, které jí mohou projet. A je lepší, pokud se cesta a auto, které se v programu chovají jako objekty, "nacházejí". Jedná se o přirozenou aplikaci objektově orientovaného programování, která mimo jiné nevede k potřebě měnit algoritmus při změně kolekcí silnic a automobilů, automaticky zohledňuje opravy silnic, údržbu vozidel apod.

JS foreach pole

Technicky na JS foreach konstrukce je velmi jednoduchá: „aData.forEach (fData)“, kde fData - funkce, která se aplikuje na každý prvek pole adata:

funkce fData (hodnota, index) {sText + = index + "=" + hodnota + ";"; }.

Pokud jsou zdrojová data uvedena následovně:

var aData = [1,2,3,4];
aData.push (11);
aData.push (22);
aData.push (44);
aData.push ("řádek 1");
aData.push ("řádek 2");

var sText = "",

pak výsledkem této aplikace JS foreach bude:

"0 = 1 1 = 2 2 = 3 3 = 4 4 = 11; 5 = 22, 6 = 44, 7 = linka 1, 8 = linka 2;".

Vlastnosti pole s objekty

Objekt v jazyce JavaScript je zvláštní. Použití objektů v tomto jazyce se výrazně liší od implementací v jiných jazycích. Objekt je pole vlastností a metod. V tomto případě tyto soubory skutečně provádějí akce, zachovávají nebo upravují vlastní nebo externí obsah jiných objektů, polí, proměnných.

Objekty, které přicházejí do pole, jako rámce na filmovém proužku, když přecházejí skrze JS foreach objektový konstrukt, vytvářejí novou sémantiku: konstrukci měnícího se významu.

Takže cesty samy dostanou příležitostvybírejte auta, která je mohou jezdit, a druhá filtruje trasy, které jsou k dispozici v jejich dnech. Pokud nebudete věnovat pozornost skutečnosti, že redundance v tomto typu programování zvyšuje spolehlivost kódu, pak úloha - určení trasy dodávky nákladu - činí předlohu JS sémantickým a jednoduchým řešením: rozšiřuje trasy po silnicích, vybírá vozidla a dodává zboží.

Js foreach objekt

Pokud jsou cesty, silnice a auta poleobjekty, je algoritmus výrazně zjednodušen. Zdálo by se divné, že vzhled forem konstrukce JS trval tak dlouho, než počkat. Nicméně, navzdory jednoduchosti psané, je v praxi poměrně obtížné ji realizovat.

JS foreach praxe a skutečné objekty

Přemýšlení moderního vývojáře funguje s objekty obeznámenými s programováním, ale v žádném případě s objektem skutečného úkolu. Není obvyklé znamenat silnici, automobil, trasu, vzdálenost ...

Objektově orientované programování se vyvinulo přes trnité cesty a bylo zvykem vytvářet programové objekty: pole, formulář, tlačítko, okno pro výběr trasy a podobně.

Navíc JS foreach je na stejné úrovni jako ostatníjazykové konstrukce jsou prováděny v prohlížeči prohlížeče, což zavádí v praxi vážná omezení. Ne každý vývojář je připraven sdílet kód. Efektivní příklady použití polí a sbírek skutečných objektů jsou dobrým způsobem, jak zlepšit znalosti.

Nicméně dostupnost javascript kódu pronepředvídatelné použití vývojáře má nepřímý vliv na vývoj slibných nápadů pro vytváření dynamických a reálných objektů. Konstrukce JS foreachu zatím nejsou dokonalé a vývoj jejich sémantiky se jeví jako velmi slibný směr.

</ p>>
Přečtěte si více: