Многоизмерни, асоциативни JavaScript масиви. Работа с JavaScript масиви

Масивите в езиците за програмиране Java и C # са добре подредени данни. Той се състои от елементи, достъпни чрез индекси. Масивът в езиците за програмиране Java и C # може да бъде представен като лента със същия размер на клетката. Той има тип, който се определя от данните. Например, може да има масив от числа, редове или обекти. Следователно всички клетки са с еднакъв размер, тъй като всеки един от тях запазва същия тип данни. Ако искате да съхраните различни данни, тогава ще трябва да направите няколко различни масива.

[thumb] http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_671.jpeg

Лекотата на използване на масиви в езиците за програмиране на Java и C #

Фактът, че клетките имат еднакъв размер, ви позволява да се движите удобно около тях. Програмистът има индекси за достъп, но тъй като е известно, че всички данни се съхраняват заедно и физически се намират в определена последователност, лесно е да се изчисли къде се поставят необходимите данни. Знаейки това и колко памет се заема от всяка клетка, лесно е да се знае местоположението на определена информация от даден тип. Например в клетката има число и знаем, че 1 клетка заема 8 бита, т.е. един байт. След това, за да преминете към клетка номер 3 от началото на масива, трябва да извадим два байта информация, или 16 бита. Всички тези правила и ограничения при работа с масиви в езиците за програмиране Java и C # са много удобни и помагат за лесно навигиране на данните.


Масиви в javascriptи техните характеристики

От javascript всичко е различно, а дефиницията на масив няма нищо общо с това, което е по-високо. Масивът е обект. Той прилича на списък от елементи и има допълнителни свойства и методи. Видът и размерът на елементите в javascript масивите не са фиксирани, а "дължината" на самия масив не се превръща в неговата горна граница. Това означава, че в един масив могат да се съхраняват различни типове данни: числа, редове, обекти и т.н. Никой не контролира какво се съхранява в един блок по отношение на езика. Размерът на клетките също не е фиксиран поради това свойство на масива на javascript. Има концепция за "дължина", но тя е просто някакво свойство на обект, с което може да работи по определен начин. Има и понятието за асоциативен масив в javascript. Такива обекти се състоят от двойки ключ-стойност. Стойностите, свързани с тях, са ключове. Това означава, че когато се отнасят до тях, се връща стойността на ключа. Асоциативният масив в javascript е този, който има редове като ключове.


[thumb] http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_562 .jpeg

Как да създадем масив в javascript

За да създадете масив, първо трябва да декларирате променливата myArray както следва: var myArray = []. Ще получим масив без елементи. Използвайки класическите квадратни скоби, използвани в повечето програмни езици, се създава празен масив. Сега можете да работите с него. Друга възможност е да се създаде масив от данни и веднага да се попълни. Това може да е списък с градове, месеци и други значения. Всички те ще бъдат разположени в масива на javascript в определен ред. Първият елемент има индекс "0", дакакто при програмирането, номерирането винаги започва от нулата, индексът на следващия елемент е "1" и така нататък. Това е начинът да се създаде масив с квадратни скоби, който се препоръчва за употреба.

Възможност за създаване на масив с помощта на конструктор

Друга възможност е да се създаде масив, като се използва конструктор с функция Array. В този случай променливата се декларира, например "а", и като се използва ключовата дума "нова", се задава стойността "Array". Да се ​​назове променливата в обикновени букви е най-добрата практика, така че присвояването на тези стойности е най-добро за образователни цели, а не за работа с кодове. И още една забележка: с дизайнера трябва да бъдете внимателни и внимателни, тъй като с негова помощ можете да преминете не само списък на някои стойности (например редове) - в такъв конструктор понякога има само един номер. Но по този начин той не създава масив с данните, съответстващи на този номер. Ако напишете низ от код: "var a new =
", тогава в масива ще се появят 5 празни клетки. При излизане на конзолата получаваме квадратни скоби с празни пространства, разделени със запетаи. Ако пишете със запетая "13", тогава ще има масив от два елемента, първият от които е равен на един, а вторият е триединство. Когато се отнася за този масив, той показва на конзолата списък от елементи в следната форма: [1, 3].
[thumb] http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_583.jpeg

Дължина на масива

Масивът в javascript е свойство Length. Това означава размера на масива, неговата дължина. Но този метод не винаги работи правилно. вВ някои случаи реалната дължина на масива ще бъде съвсем различна. Следователно, програмистът трябва да разбере и запомни, че това свойство всъщност не казва реалния брой елементи, въпреки че в повечето случаи е същото. Дължината е "индекс на последния елемент + 1". Следователно, ако сравните това свойство със същия език в C #, тогава това ще съответства на реалността. А "индексът на последния елемент + 1" винаги означаваше броя на елементите в масива. Но работата с масиви в javascript е различна от другите езици за програмиране.

Промяна на дължината на масива

Стойността на дължината на масива може да се променя ръчно. Например, можете да създадете прост масив с три еднакви елемента и да покажете дължината на неговата линия в конзолата. Тя ще бъде равна на три. Ако сега се обърнем към различни елементи от този масив, тогава ще получим тяхното значение. Но ако се обърнем към елемент, който няма значение, получаваме "неопределен", което означава "не е дефиниран". И в този случай поведението на дължината на масива изобщо не започва.
http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_674.jpeg

Как се изчислява броят на елементите в масив

Независимо от факта, че след елемент с определен индекс, например трети, все още няма други данни, можете да изберете стойността на елемента с индекса "10". Тази стойност се присвоява на елемент с абсолютно всеки индекс. Тогава получаваме набор от несигурни стойности, докато достигнем елемента с дадена стойност. Така че, макар и да сме в действителностсамо четири елемента в масива с набор от несигурности между тях, дължината на линията по този начин ще бъде равна на "11", защото индексът на последния елемент е числото "10", а стойността на имота се изчислява като "индекс на последния елемент + 1". Следователно, ако искате да разберете колко елементи от данни в масив всъщност, с изключение на несигурни, не е необходимо да разчитате на дължината.

Характеристики на действието на свойството Дължина

Ако, например, отново се обърнем към масива, който е зададен с новия, и се опитаме да изведем неговата дължина в конзолата, получаваме 0, тъй като не съдържа елементи , Но ако приложите същото свойство към масив, създаден от конструктор, тогава, въпреки че е празен, дължината на линията е равна на числото, което е в скоби. Дължината ще брои всички елементи, дори ако те са празни.
[thumb] http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_475.jpeg
За масив, съдържащ списък от няколко непразни елемента, тази стойност ще бъде равна на техния брой. Можете да промените стойността на дължината, като добавите желаната стойност след знака "=". И ако го променим на някаква стойност, по-малка от текущата, тогава всички елементи, които ще го последват, ще бъдат отрязани от масива. Например, ако дължината на масива е пет, а Дължината е две, тогава всички елементи след втория ще изчезнат при достъп до него. Това е един от най-лесните начини да се отреже парче от масива, разположен в края му. Търсенето на javascript масив се извършва чрез функцията find и методаindexOf обект Array.

Многомерни масиви и тяхното създаване

Съвсем лесно е да се създаде многоизмерен масив в javascript от обекти и други елементи. Тъй като стойностите на елементите не са фиксирани, тогава един масив може да бъде поставен в число, обект, линия и друг масив и едновременно. В резултат на това получаваме масив от четири стойности, всеки от които ще бъде отделен тип. По този начин можете да създавате многоизмерни масиви в javascript.
[thumb] http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_326.jpeg
Ако има няколко в един масив, тогава първият ще съответства на нулевия индекс, а вторият - на първия и така нататък. Това означава, че всеки от тях ще бъде показан като елемент. Двуизмерен масив в javascript е многоизмерен масив с 2 рекламни нива. Има и триизмерни, четириизмерни и т.н. За да получи част от масив в друг масив, неговият елемент също трябва да се позове на индекс, например: a

. Програмистът може да създава многоизмерни масиви в javascript с почти безкраен брой елементи.

Добавяне и изтриване на елемент от масив

Тъй като масивът е обект, стойностите на неговите елементи са свойства на обекти. Затова можете да работите с тях по подобен начин. Изтрива елемент от масив, като използва свойството delete и достъп до индекса. При многоизмерните масиви, когато се изпразва част от техните части, се образува празнота, която ще бъде разделена от кома. Но ако по време на изтриване искате други стойности да се движат нагоре и няма място между тях, след това да изтриете елементИзползва се Splice метод. Той приема два параметъра. Първият е индексът, от който искате да започнете, а вторият е броят на елементите, които искате да изтриете. Този метод ви позволява да изтривате елементи в масив, като измествате всичко по следния начин, че между тях няма празно пространство. Можете да добавите елемент към масива на javascript, като влезете в индекса. Новата стойност на вече съществуващ елемент се присвоява по следния начин: a= 5, където а е самият елемент, в квадратните му скоби се намира индексът му, а след знака "=" е нова стойност. Добавя се изцяло нов елемент с помощта на индекс, който все още не е използван в масива. Ако размерът на масива в javascript е неизвестен, можете да използвате променливата за дължина и да я напишете като: a [a.length] - това ще бъде числото, съответстващо на "последния индекс на +1".
[thumb] http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_997.jpeg

Преглеждане и сортиране на масиви в javascript

За анализиране на масива можете да използвате специална форма за for in for loop. Но опитни програмисти не препоръчват използването му. Факт е, че ако зададете масив с конструктор, този метод ще даде само една цифра. Ако използвате брояч с променлива от нула до дължината на линията, можете да получите всички елементи наведнъж. Сортирането на масива се извършва с помощта на метода за сортиране. Но в този случай първоначалната стойност трябва да бъде запазена, ако все още е необходима в бъдеще.

Свързани публикации