WebDEV
11.5K subscribers
1.29K photos
1.54K links
Сообщество веб-разработчиков.

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

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc
Download Telegram
💡 Поиск элементов в массиве

Метод lastIndexOf() возвращает индекс последнего вхождения элементов в массив, если элемента нет, то возвращается -1.

Например:

let a = [1, 2, 3, 4, 5, 6, 7, 5, 8];
console.log(a.lastIndexOf(1));
console.log(a.lastIndexOf(23));

В примере в массиве a ищем индекс элемента 1 и получаем [0]. Элемента 23 в массиве нет, поэтому в консоли получаем -1.

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

WebDEV #советы #coding #js
💡 Поиск элементов в массиве

Метод find() ищет элементы в массиве по передаваемой ему функции. Если функция возвращает true, то метод возвращает первый найденный элемент.

Например:

a.find(x => x.id === my_id); 

В примере функция x ищет элемент id, который должен иметь значение my_id. Если он находит my_id в массиве, то возвращает этот элемент. Если элемента нет, то возвращается undefined.

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

WebDEV #советы #coding #js
💡 Поиск элементов в массиве

Метод findIndex() возвращает индекс элемента, если элемента нет, то возвращается undefined.

Например:

a.findIndex(x => x.id === my_id);

Поиск элемента массива методом findIndex().

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

WebDEV #советы #coding #js
💡 Поиск элементов в массиве

Метод includes() ищет элемент массива и возвращает true, если элемент есть, возвращает false, если элемента нет. Методу можно передавать два значения — сам элемент и индекс.

Например:

let a = [1, 2, 3, 4, 5, 6, 7, 5, 8];
console.log(a.includes(1, 2));

Поиск элемента массива методом includes(). В примере метод вернет false, потому что на месте индекса [2] нет элемента 1. Элемент 1 находится под индексом [0].

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

WebDEV #советы #coding #js
💡 Получение фрагмента массива

Метод slice() используют для получения фрагментов массива по его индексам.

Например:

let a = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(a.slice(4)); // [5, 6, 7, 8, 9 ]
console.log(a.slice(3,7)); // [4, 5, 6, 7 ]

В первом выводе из массива a получается фрагмент массива начиная с индекса 4 и до конца [5, 6, 7, 8, 9]. Во втором случае получим массив с 3 по 7 индекс [4, 5, 6, 7], при этом последний элемент в массив не входит.

WebDEV #советы #coding #js
💡 Сортировка массива

Для сортировки массива в алфавитном порядке используют метод sort().

Например:

let a = [1, 2, 3, 10, 11];
let b = ["b", "c", "a"];
a.sort(); // [1, 10, 11, 2, 3]
b.sort(); // ["a", "b", "c"]

Сортировка массивов методом sort().

Чтобы числа и цифры в массиве шли по порядку, используют функцию (a, b) => a – b.

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

WebDEV #советы #coding #js
💡 Сортировка массива

Для расположения элементов массива в обратном порядке используют метод reverse().

Например:

let a = [1, 2, 3, 10, 11];
let b = ['b', 'c', 'a'];
a.reverse(); // [11, 10, 3, 2, 1]
b.reverse(); // ["a", "c", "b"]

Расположение элементов массива в обратном порядке методом reverse().

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

WebDEV #советы #coding #js
💡 Получение строкового представления массива

Для извлечения элементов из массива в виде строки используют метод toString() или a.join().

Например:

let a = [1, 10, 3, 2, 11];
let b=['b','c','a'];
console.log(a.toString()); // 1,10,3,2,11
console.log(b.toString()); // b,c,a
console.log(a.join()); // 1,10,3,2,11
console.log(a.join(', ')); //1, 10, 3, 2, 11
console.log(b.join()); //1,10,3,2,11
console.log(b.join(', ')); //b, c, a

Получение строкового представления из массива методом toString() и a.join().

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

Элементы из массива 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