WebDEV
9.16K subscribers
2.04K photos
10 videos
2.56K links
Сообщество веб-разработчиков.

На канале можно найти: видео-уроки, полезные статьи, новости из мира IT и веб-разработки.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/webb_dev

РКН: clck.ru/3L2oTf
Download Telegram
💡 Создание копий массивов

Элементы из массива a можно скопировать в массив b с помощью метода Array.of().

Например:

var a = [1, 10, 3, 2, 11];
var b = Array.of(...a);
console.log(b); // [1, 10, 3, 2, 11]

Копирование массива a в массив b методом Array.of().

Продолжение следует...

WebDEV #советы #coding #js
💡 Создание копий массивов

С помощью метода copyWithin() можно копировать элементы в определенное место массива. Методу необходимо передать аргументы: первый аргумент — индекс целевой позиции, то есть то место в новом массиве, куда необходимо вставить данные. Второй аргумент — начальный индекс позиции источника элементов.

Например:

let a = [1, 2, 3, 4, 5];

a.copyWithin(0, 2); // 0 — начальный индекс позиции нового массива, куда необходимо вставить элементы массива a с индексом 2

console.log(a); // [3, 4, 5, 4, 5]. На место элементов 1,2,3, вставили элементы 3,4,5, а остальные элементы оставили как были в исходном массиве.

Копирование элементов из массива в определенное место массива.

WebDEV #советы #coding #js
💡 Методы shift/unshift

Метод shift() удаляет из начала массива один или несколько элементов. Метод unshift() добавляет в начало массива один или несколько элементов.

Например:

let dishes = ["Кастрюля", "Сковородка"];
dishes.unshift('Половник'); // Вставляем в начало массива слово 'Половник'
console.log(dishes); // Выводим массив ["Половник", "Кастрюля", "Сковородка"]
dishes.shift(); // Удаляем слово из начала массива
console.log(dishes); // ["Кастрюля", "Сковородка"]

— добавление в массив методом unshift() и удаление из массива методом shift().

WebDEV #советы #coding #js
💡 Немного о «length»

Свойство length — это наибольший индекс массива плюс один. С помощью этого свойства можно уменьшить длину массива.

Например:

let arr = [1, 2, 3, 4, 5];
arr.length = 2; // укорачиваем до двух элементов
console.log( arr ); // Array [ 1, 2 ]
arr.length = 5; // возвращаем length
console.log(arr); // [ 1, 2, <3 empty slots> ]
console.log( arr[3] ); // undefined: как видим, значения не восстановились

Уменьшаем массив arr до двух элементов. Уменьшение массива происходит безвозвратно. Если снова обратиться к индексу [3], то получим undefined.

Продолжение следует...

WebDEV #советы #coding #js
💡 Немного о «length»

Если мы можем уменьшить количество элементов в массиве, то можем и полностью очистить массив с помощью свойства arr.length=0.

Например:

let arr = [1, 2, 3, 4, 5];
arr.length = 0;
console.log( arr ); // Array []

Очищением массива с помощью свойства arr.length=0.

WebDEV #советы #coding #js
💡 Метод new Array()

Массив можно задать методом new Array().

Например:

let arr = new Array("Кастрюля", "Сковородка", "Ложка");
console.log(arr); // Array(3) ['Кастрюля', 'Сковородка', 'Ложка']

Инициализация массива методом new Array().

Продолжение следует...

WebDEV #советы #coding #js
💡 Метод new Array()

... Но при этом, если массив будет состоять из одного числового элемента, то его элементы будут undefined.

Например:

let arr = new Array(2);
console.log(arr[0]); //undefined

Чтобы такого не было при инициализации массива лучше пользоваться квадратными скобками:

let arr = [];

WebDEV #советы #coding #js
💡 Многомерные массивы

Если в массив a мы поместим массив a1,a2…an, то получим многомерный массив.

Он может выглядеть так:

let a = [[1,2,3],[4,5,6],[7,8,9]];

В многомерных массивах можно обращаться как к отдельным элементам, так и к элементам внутри элемента.

Например:

let a = [[1,2,3],[4,5,6],[7,8,9]];
let b = a[0][2];
//[0] — первый элемент массива с индексом 0
//[2] — третий элемент первого элемента массива
console.log(b); // 3

WebDEV #советы #coding #js
💡 Перебрать все элементы и получить новый изменённый массив

С циклом:

let names = ["Jack", "Jecci", "Ram", "Tom"];
let upperCaseNames = [];
for (let i = 0, totalNames = names.length; i < totalNames; i = i + 1) {
upperCaseNames[i] = names[i].toUpperCase();
}

Без цикла:

let names = ["Jack", "Jecci", "Ram", "Tom"];
let upperCaseNames = names.map(name => name.toUpperCase());

Примечание. Если вы используете map, в процессе перебора нельзя сделать break, continue или return. Но если возникает необходимость, такие случаи обычно сводятся к применению методов every или some.

WebDEV #советы #coding #js
💡 Проверить, подходит ли условию каждый элемент массива

Если использовать цикл:

let num = [1, 2, 3, 4, 5, 0];

for (let i = 0, total = num.length; i < total; i = i + 1) {
if (i <= 0) {
console.log("0 present in array");
}
}

Используя every:

let num = [1, 2, 3, 4, 5, 0];

let isZeroFree = num.every(e => e > 0);

if (!isZeroFree) {
console.log("0 present in array");
}

WebDEV #советы #coding #js