Методи масивів
.join() - зворотній до строкового метода .split(), повертає строку, що складається з елементів масиву, записаних через кому.
console.log([1, 2, 3].join()); // '1,2,3'
console.log([1, 2, 3].join('; ')); // '1; 2; 3'
console.log([1, 2, 3].join('')); // '123'
.concat(a, b, ...) - повертає новий масив, об'єднує декілька масивів в один, може добавляти інші елементи.
let a = [1, 2, 3],
b = [4, 5, 6],
c = [7, 8, 9],
d = 'hello',
e = 42,
f = a.concat(b, c, d, e);
console.log(f);
.includes(e) - перевіряє чи є в масиві елемент e, повертає true або false.
let a = [1, 2, 3];
console.log(a.includes(1)); // true
console.log(a.includes(42)); // false
.indexOf(e) - шукає в масиві елемент e і повертає його індекс або -1, якщо елемент не знайдено.
.lastIndexOf(e) - шукає в масиві елемент e з кінця масиву і повертає його індекс або -1, якщо елемент не знайдено.
Ці два метода можуть приймати два аргумента, другий - з якого елемента починати пошук.
.fill(n) - заповнює масив елементами n.
let a = [1, 2, 3, , , 6, 7];
a.fill('hey');
console.log(a);
.reverse() - змінює порядок розташування елементів на зворотній.
let a = [4, 5, 6];
a.reverse();
console.log(a);
.slice(a, b) - повертає підмасив починаючи з індекса a до індекса b, не включаючи його.
let a = [1, 2, 3, 4, 5, 6, 7],
b = a.slice(5); // [6, 7]
b = a.slice(2, 5); // [3, 4, 5]
.splice(k, n, a, b, ...) - комплексний метод по видаленню та добавлянню елементів масива.
Перші два аргумента - з якого індекса та скільки елементів видалити. Решта аргументів - елементи, які необхідно вставити на місце видалених.
let a = [1, 2, 'hello', 6, 7, 42, 43, 44, 8, 9, 10];
a.splice(5, 3);
a.splice(2, 1, 3, 4, 5);
Робота з масивом як зі стеком (стаканом)
.push() - добавляє елемент(и) в кінець масива.
.unshift() - добавляє елемент(и) на початок масива.
.pop() - видаляє елемент з кінця масива і повертає його.
.shift() - видаляє елемент з початку масива і повертає його.
let a = [4, 5, 6];
a.push(7);
a.push(8, 9, 10);
a.unshift(1);
a.unshift(2, 3);
let b = a.pop(),
c = a.shift();
console.log(a);
console.log(b);
console.log(c);
Методи з callback-функціями або методи інтерфейсів
Наступні методи приймають в себе в якості аргумента функцію.
Звичайну функцію або метод можна уявити у вигляді викрутки: аргументами в даному випадку виступають ширина кінчика викрутки, довжина жала.
Функція, що приймає в себе іншу функцію, тоді буде мати вигляд викрутки з насадками. Без насадок таку викрутку можна застосувати до гвинтиків з шестигранною голівкою, а насадки (бити) сильно розширюють спектр використання інструмента. Насадки в даному випадку виступають у ролі функцій, що передаються в якості аргумента (вставляються у викрутку).
Кожна така функція може приймати в себе до трьох аргументів:
function fun(element, index, arr) { ... }
Callback-функції, механізм їх роботи розглянемо пізніше.
.find(fun) - шукає в масиві перший елемент, що відповідає умові, заданій у callback-функції. Якщо елемент не знайдено - повертає undefined.
.findIndex(fun) - шукає в масиві індекс першого елемента, що відповідає умові, заданій у callback-функції. Якщо елемент не знайдено - повертає -1.
let a = [1, 2, 3, 4, 5],
b = a.findIndex(nnn);
function nnn(e) { return e > 3 && e < 10; }
.forEach(fun) - перебирає всі елементи масива, виконуючи для кожного функцію fun.
let a = [1, 2, 3, 4, 5];
a.forEach(fun);
function fun(e, i){ console.log('Елемент №' + i + ' = ' + e); }
.map(fun) - повертає новий масив, застосувавши функцію fun для кожного елемента масива.
let a = [1, 2, 4, 9, 16],
b = a.map(fun);
c = a.map(Math.sqrt);
console.log(b);
console.log(c);
function fun(e, i){ return e * i; }
.sort(fun) - функція сортування елементів масиву.
За замовчуванням сортування відбувається як з елементами-строками.
Можна передати функцію, яка вкаже яким чином зробити сортування.
let a = [40, 12, 1, 172, 5, 90];
a.sort();
console.log(a);
a = [40, 12, 1, 172, 5, 90];
a.sort(fun);
console.log(a);
function fun(a, b){ return a - b; }
Якщо callback-функція повертатиме число менше нуля - елементи a та b поміняються місцями, а якщо 0 або більше - то залишаться на своїх місцях.
.some(fun) - перевіряє чи хоч один елемент в масиві задовільняє умові, заданій в функції.
.every(fun) - перевіряє чи всі елементи в масиві задовільняють умові, заданій в функції.
let a = [3, 5, 7, 10];
console.log(a.some(fun));
console.log(a.every(fun));
function fun(e){ return e >= 6; }
.filter(fun) - відфільтровує масив від елементів, що не підходять по певній умові, повертає новий масив.
let a = [1, 2, 3, 4, 5, 6, 7, 8],
b = a.filter(isEven);
console.log(b);
function isEven(n){ return n % 2 === 0; };
Решта методів вам навряд чи знадобиться або ж вони не кросбраузерні.