From b70b691939c8db10386de912259bec3d233dc8ac Mon Sep 17 00:00:00 2001 From: Anastasia Yarosh Date: Wed, 20 Nov 2024 23:10:52 +0300 Subject: [PATCH 01/10] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D1=8F=D0=B5=D1=82=20=D0=BD=D1=8E=D0=B0=D0=BD=D1=81=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=20=D1=80=D0=B0=D0=B7=D1=80=D0=B5=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20=D0=BC=D0=B0=D1=81=D1=81=D0=B8=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/arrays/index.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/js/arrays/index.md b/js/arrays/index.md index e82557449b..7a7c778eec 100644 --- a/js/arrays/index.md +++ b/js/arrays/index.md @@ -5,6 +5,7 @@ authors: - nlopin contributors: - furtivite + - anastasiayarosh related: - js/ref-type-vs-value-type - js/typecasting @@ -171,3 +172,17 @@ console.log(episodesPerSeasons.includes(8)) console.log(episodesPerSeasons.includes(6)) // true ``` +Интересно, что если в массиве будут ключи с пропусками (например, в результате некорректной работы с массивами), то можно получить разреженный массив. Предположим, у нас есть массив: + +```js +const arr = ['d', 'o', 'k', 'a'] +``` +Добавив к этому массиву ещё один элемент, чтобы его индекс был больше длины массива, мы получим массив с дырой, имеющей значение `undefined`: +```js +arr[5] = '!' +console.log(arr) // выведет ['d', 'o', 'k', 'a', , '!'] +``` +Длина массива будет включать в себя все дыры, то есть в нашем случае не 5 элементов, а 6: +```js +console.log(arr.length) // выведет 6 +``` \ No newline at end of file From bbb2998fbd2d5dbb267a30fd9ced92cd0fee9f92 Mon Sep 17 00:00:00 2001 From: Anastasia Yarosh Date: Thu, 21 Nov 2024 13:40:06 +0300 Subject: [PATCH 02/10] =?UTF-8?q?=D0=A7=D1=83=D1=82=D1=8C=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D0=B0=20=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D1=83=D0=BB=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/arrays/index.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/js/arrays/index.md b/js/arrays/index.md index 7a7c778eec..5266e19ae3 100644 --- a/js/arrays/index.md +++ b/js/arrays/index.md @@ -172,17 +172,19 @@ console.log(episodesPerSeasons.includes(8)) console.log(episodesPerSeasons.includes(6)) // true ``` -Интересно, что если в массиве будут ключи с пропусками (например, в результате некорректной работы с массивами), то можно получить разреженный массив. Предположим, у нас есть массив: +Интересно, что если в массиве будут индексы с пропусками (например, в результате некорректной работы с методами массивов или некорректной вставки новых элементов), то можно получить разреженный массив. Предположим, у нас есть набор элементов: ```js const arr = ['d', 'o', 'k', 'a'] ``` Добавив к этому массиву ещё один элемент, чтобы его индекс был больше длины массива, мы получим массив с дырой, имеющей значение `undefined`: + ```js arr[5] = '!' console.log(arr) // выведет ['d', 'o', 'k', 'a', , '!'] ``` -Длина массива будет включать в себя все дыры, то есть в нашем случае не 5 элементов, а 6: +Длина массива будет включать в себя не только элементы, но и все пустые места, то есть в нашем случае не 5 элементов, а 6: + ```js console.log(arr.length) // выведет 6 ``` \ No newline at end of file From bbe2a91bb8d08a31af7044a1841952b30b54b3cf Mon Sep 17 00:00:00 2001 From: Anastasia Yarosh Date: Thu, 21 Nov 2024 13:42:51 +0300 Subject: [PATCH 03/10] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=D0=B0=20=D0=BE=D1=82=D1=81=D1=82=D1=83=D0=BF=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/arrays/index.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/arrays/index.md b/js/arrays/index.md index 5266e19ae3..dcfb06731b 100644 --- a/js/arrays/index.md +++ b/js/arrays/index.md @@ -172,19 +172,22 @@ console.log(episodesPerSeasons.includes(8)) console.log(episodesPerSeasons.includes(6)) // true ``` + Интересно, что если в массиве будут индексы с пропусками (например, в результате некорректной работы с методами массивов или некорректной вставки новых элементов), то можно получить разреженный массив. Предположим, у нас есть набор элементов: ```js const arr = ['d', 'o', 'k', 'a'] ``` + Добавив к этому массиву ещё один элемент, чтобы его индекс был больше длины массива, мы получим массив с дырой, имеющей значение `undefined`: ```js arr[5] = '!' console.log(arr) // выведет ['d', 'o', 'k', 'a', , '!'] ``` + Длина массива будет включать в себя не только элементы, но и все пустые места, то есть в нашем случае не 5 элементов, а 6: ```js console.log(arr.length) // выведет 6 -``` \ No newline at end of file +``` From b7e70001c696ee1a2f655f81389de6a402d12d19 Mon Sep 17 00:00:00 2001 From: "Anastasia Y." <71438930+nasty23-star@users.noreply.github.com> Date: Tue, 26 Nov 2024 21:42:31 +0300 Subject: [PATCH 04/10] Update js/arrays/index.md Co-authored-by: Vitya <9317613+vitya-ne@users.noreply.github.com> --- js/arrays/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/arrays/index.md b/js/arrays/index.md index dcfb06731b..aa498677d0 100644 --- a/js/arrays/index.md +++ b/js/arrays/index.md @@ -179,7 +179,7 @@ console.log(episodesPerSeasons.includes(6)) const arr = ['d', 'o', 'k', 'a'] ``` -Добавив к этому массиву ещё один элемент, чтобы его индекс был больше длины массива, мы получим массив с дырой, имеющей значение `undefined`: +Добавив к этому массиву ещё один элемент, чтобы его индекс был больше длины массива, получим массив с незаполненным элементом (empty slot). Если обратиться к незаполненному элементу, получим `undefined`: ```js arr[5] = '!' From a5b7f7d6e463548fe19c28063d59870b38bac052 Mon Sep 17 00:00:00 2001 From: "Anastasia Y." <71438930+nasty23-star@users.noreply.github.com> Date: Tue, 26 Nov 2024 21:42:47 +0300 Subject: [PATCH 05/10] Update js/arrays/index.md Co-authored-by: Tatiana Fokina --- js/arrays/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/arrays/index.md b/js/arrays/index.md index aa498677d0..c269163a2b 100644 --- a/js/arrays/index.md +++ b/js/arrays/index.md @@ -189,5 +189,6 @@ console.log(arr) // выведет ['d', 'o', 'k', 'a', , '!'] Длина массива будет включать в себя не только элементы, но и все пустые места, то есть в нашем случае не 5 элементов, а 6: ```js -console.log(arr.length) // выведет 6 +// Выведет 6 +console.log(arr.length) ``` From 7a913f299ba64ebfe1f3d7c2759f60571013fad6 Mon Sep 17 00:00:00 2001 From: "Anastasia Y." <71438930+nasty23-star@users.noreply.github.com> Date: Tue, 26 Nov 2024 21:42:55 +0300 Subject: [PATCH 06/10] Update js/arrays/index.md Co-authored-by: Tatiana Fokina --- js/arrays/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/arrays/index.md b/js/arrays/index.md index c269163a2b..68f1c5b29c 100644 --- a/js/arrays/index.md +++ b/js/arrays/index.md @@ -183,7 +183,8 @@ const arr = ['d', 'o', 'k', 'a'] ```js arr[5] = '!' -console.log(arr) // выведет ['d', 'o', 'k', 'a', , '!'] +// Выведет ['d', 'o', 'k', 'a', , '!'] +console.log(arr) ``` Длина массива будет включать в себя не только элементы, но и все пустые места, то есть в нашем случае не 5 элементов, а 6: From 113681f260df49d6e135a16f79153e7cb93e2145 Mon Sep 17 00:00:00 2001 From: Anastasia Yarosh Date: Tue, 26 Nov 2024 21:48:34 +0300 Subject: [PATCH 07/10] =?UTF-8?q?=D0=92=D0=BD=D0=B5=D1=81=D0=BB=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82=D0=B0=D0=BC=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/arrays/index.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/js/arrays/index.md b/js/arrays/index.md index 68f1c5b29c..b44cbcebb1 100644 --- a/js/arrays/index.md +++ b/js/arrays/index.md @@ -173,7 +173,7 @@ console.log(episodesPerSeasons.includes(6)) // true ``` -Интересно, что если в массиве будут индексы с пропусками (например, в результате некорректной работы с методами массивов или некорректной вставки новых элементов), то можно получить разреженный массив. Предположим, у нас есть набор элементов: +Интересно, что если в массиве будут индексы с пропусками, то можно получить разреженный массив. Предположим, у нас есть набор элементов: ```js const arr = ['d', 'o', 'k', 'a'] @@ -193,3 +193,15 @@ console.log(arr) // Выведет 6 console.log(arr.length) ``` + +Или можно взять другой пример: + +```js +// Зрители, которые заняли три места в ряду. Индексы их мест: 0,1, 2 +const audience = [🐸, 🐶, 🐱 ] +// опоздавший зритель занял место в темноте и не попорядку! +audience[5] = 🐌 +// места с индексами 3 и 4 всё ещё свободны, и это логично! +console.log(audience) +.// Array(6) [ "🐸", "🐶", "🐱", <2 empty slots>, "🐌" ] +``` From e2ebf8fb9ebbd4cdbe5e40a227e5ad2668e798f4 Mon Sep 17 00:00:00 2001 From: "Anastasia Y." <71438930+nasty23-star@users.noreply.github.com> Date: Tue, 26 Nov 2024 22:20:57 +0300 Subject: [PATCH 08/10] Update js/arrays/index.md Co-authored-by: Vitya <9317613+vitya-ne@users.noreply.github.com> --- js/arrays/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/arrays/index.md b/js/arrays/index.md index b44cbcebb1..b196bda2be 100644 --- a/js/arrays/index.md +++ b/js/arrays/index.md @@ -187,7 +187,7 @@ arr[5] = '!' console.log(arr) ``` -Длина массива будет включать в себя не только элементы, но и все пустые места, то есть в нашем случае не 5 элементов, а 6: +Длина массива будет включать в себя не только элементы, но и все незаполненные элементы, то есть в нашем случае не 5 элементов, а 6: ```js // Выведет 6 From 31b3c92a1f2670a3eee751673a905105464e7287 Mon Sep 17 00:00:00 2001 From: "Anastasia Y." <71438930+nasty23-star@users.noreply.github.com> Date: Tue, 26 Nov 2024 23:28:35 +0300 Subject: [PATCH 09/10] Update js/arrays/index.md Co-authored-by: Vitya <9317613+vitya-ne@users.noreply.github.com> --- js/arrays/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/arrays/index.md b/js/arrays/index.md index b196bda2be..d5b3ee8da6 100644 --- a/js/arrays/index.md +++ b/js/arrays/index.md @@ -179,7 +179,7 @@ console.log(episodesPerSeasons.includes(6)) const arr = ['d', 'o', 'k', 'a'] ``` -Добавив к этому массиву ещё один элемент, чтобы его индекс был больше длины массива, получим массив с незаполненным элементом (empty slot). Если обратиться к незаполненному элементу, получим `undefined`: +Добавив к этому массиву ещё один элемент, чтобы его индекс был больше длины массива. Мы получили массив с незаполненным элементом (empty slot). Если обратиться к незаполненному элементу по индексу, получим `undefined`: ```js arr[5] = '!' From 0d35c7be254c8a19cc626ef5817c0416d874c13f Mon Sep 17 00:00:00 2001 From: "Anastasia Y." <71438930+nasty23-star@users.noreply.github.com> Date: Wed, 27 Nov 2024 15:50:59 +0300 Subject: [PATCH 10/10] Update js/arrays/index.md Co-authored-by: Vitya <9317613+vitya-ne@users.noreply.github.com> --- js/arrays/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/arrays/index.md b/js/arrays/index.md index d5b3ee8da6..ed43d01264 100644 --- a/js/arrays/index.md +++ b/js/arrays/index.md @@ -179,7 +179,7 @@ console.log(episodesPerSeasons.includes(6)) const arr = ['d', 'o', 'k', 'a'] ``` -Добавив к этому массиву ещё один элемент, чтобы его индекс был больше длины массива. Мы получили массив с незаполненным элементом (empty slot). Если обратиться к незаполненному элементу по индексу, получим `undefined`: +Добавим к этому массиву ещё один элемент, чтобы его индекс был больше длины массива. Мы получили массив с незаполненным элементом (empty slot). Если обратиться к незаполненному элементу по индексу, получим `undefined`: ```js arr[5] = '!'