Методи масивів

.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-функціями або методи інтерфейсів

Наступні методи приймають в себе в якості аргумента функцію.

Звичайну функцію або метод можна уявити у вигляді викрутки: аргументами в даному випадку виступають ширина кінчика викрутки, довжина жала.

Default function
Аналогія звичайної функції.

Функція, що приймає в себе іншу функцію, тоді буде мати вигляд викрутки з насадками. Без насадок таку викрутку можна застосувати до гвинтиків з шестигранною голівкою, а насадки (бити) сильно розширюють спектр використання інструмента. Насадки в даному випадку виступають у ролі функцій, що передаються в якості аргумента (вставляються у викрутку).

Callback function
Аналогія функції, що приймає в себе іншу функцію.

Кожна така функція може приймати в себе до трьох аргументів:

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; };

Решта методів вам навряд чи знадобиться або ж вони не кросбраузерні.