Возвращает новый массив без изменения исходного массива
join
Помещает все элементы массива в строку и возвращает строку.
// 0.0.2/join.js
const arr = ['pr', 'is', 18];
console.log(arr.join(' ')); // pr is 18
console.log('=>');
console.log(arr); // [ 'pr', 'is', 18 ]
concat
Конкатенировать несколько (в том числе два) массивов, исходные массивы с обеих сторон не изменятся, вернуть копию объединенного массива, можно продолжатьconcat.
// 0.0.2/concat.js
const arr = [1, 2, 3, 4];
const arr1 = ['pr', 'is', 'a', 'boy'];
const arr2 = [5, 6, 7];
console.log(arr.concat(arr1, arr2).concat(8, 9)); // [1, 2, 3, 4, 'pr', 'is', 'a', 'boy', 5, 6, 7, 8, 9 ]
console.log('=>');
console.log(arr); // [ 1, 2, 3, 4 ]
slice
от начала до конца([)Слева закрыто, справа открыто, т.е. не включая конец) выделить часть массивамелкая копияв новый массив.
// 0.0.2/slice.js
const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.slice(1, 5)); // [ 1, 2, 3, 4 ]
console.log('=>');
console.log(arr); // [ 0,1,2,3,4,5,6,7,8,9 ]
slice(1, 5)Видно, что он содержит до 4 (5 - 1) элементов и начиная с 1-го бита.
map
Создает новый массив и возвращает, каждый элемент нового массива получается путем выполнения предоставленной функции над каждым элементом исходного массива, где исходный массив не изменяется.
// 0.0.2/map.js
const arr = [1, 2, 3, 4];
console.log(arr.map(i => i * 10 - 5)); // [ 5, 15, 25, 35 ]
console.log('=>');
console.log(arr); // [ 1, 2, 3, 4 ]
every
Проверяет, все ли элементы массива соответствуют заданным условиям.
- Если в массиве обнаруживается неудовлетворительный элемент, возвращается все выражение
false, а остальные элементы не будут обнаружены; - Возвращает, если все элементы удовлетворяют условию
true;
// 0.0.2/every.js
const arr = [1, 2, 3, 4];
console.log(arr.every(i => i > 2)); // false
console.log(arr.every(i => i > 0)); // true
console.log([].every(i => i === 'pr')); // true
console.log('=>');
console.log(arr); // [ 1, 2, 3, 4 ]
some
Используется для проверки того, удовлетворяет ли элемент массива заданному условию.
- Если элемент удовлетворяет условию, выражение возвращает
true, остальные элементы проверяться не будут; - Возвращает, если нет элемента, удовлетворяющего условию
false;
// 0.0.2/some.js
const arr = [1, 2, 3, 4];
console.log(arr.some(i => i > 4)); // false
console.log(arr.some(i => i > 0)); // true
console.log([].some(i => i === 'pr')); // false
console.log('=>');
console.log(arr); // [ 1, 2, 3, 4 ]
filter
Создает новый массив, элементы которого проверяются путем проверки всех элементов, соответствующих условию.
// 0.0.2/filter.js
const arr = [1, 2, 3, 4];
console.log(arr.filter(i => i > 2)); // [3, 4]
console.log([].filter(i => i === 'pr')); // []
console.log('=>');
console.log(arr); // [ 1, 2, 3, 4 ]
forEach
Используется для вызова каждого элемента массива, передачи элемента в функцию обратного вызова, возвратаundefiend.
// 0.0.2/forEach.js
const arr = [1, 2, 3, 4];
const copy = [];
console.log(arr.forEach(i => {
copy.push(i * 2);
}));
console.log(copy); // [ 2, 4, 6, 8 ]
console.log('=>');
console.log(arr); // [ 1, 2, 3, 4 ]
reduce
Получает функцию как аккумулятор, и каждое значение в массиве (слева направо) начинает уменьшаться и в конечном итоге оценивается как значение. Если массив пуст, функция обратного вызова не будет выполнена;
// 0.0.2/reduce.js
const arr = [1, 2, 3, 4];
console.log(arr.reduce((prev, cur) => prev + cur, 0)); // 10
console.log('=>');
console.log(arr); // [ 1, 2, 3, 4 ]
Возвращает новый массив, изменяя исходный массив
pop
Удаляет последний элемент массива и возвращает этот элемент (то есть удаленный элемент).
- Если массив пуст, не менять массив, вернуть
undefined;
// 0.0.2/pop.js
const arr = [1, 2, 3, 4];
const arr1 = [];
console.log(arr.pop()); // 4
console.log(arr1.pop()); // undefined
console.log('=>');
console.log(arr); // [ 1, 2, 3 ]
console.log(arr1); // []
push
Добавляет один или несколько элементов в конец массива, возвращаемое значениеДлина измененного массива.
// 0.0.2/push.js
const arr = [1, 2, 3, 4];
console.log(arr.push(5)); // 5
console.log(arr.push([1, 2])); // 6
console.log('=>');
console.log(arr); // [ 1, 2, 3, 4, 5, [ 1, 2 ] ]
shift
Удаляет первый элемент массива и возвращает этот элемент.
// 0.0.2/shift.js
const arr = [1, 2, 3, 4];
console.log(arr.shift()); // 1
console.log('=>');
console.log(arr); // [ 2, 3, 4 ]
unshift
Добавляет один или несколько элементов в начало массива, возвращаемое значениеДлина измененного массива.
// 0.0.2/unshift.js
const arr = [1, 2, 3, 4];
console.log(arr.unshift(5, 6)); // 6
console.log(arr.unshift([1, 2])); // 7
console.log('=>');
console.log(arr); // [ [ 1, 2 ], 5, 6, 1, 2, 3, 4 ]
reverse
Меняет местами элементы в массиве, возвращая ссылку на массив.
// 0.0.2/reverse.js
const arr = [1, 2, 3, 4];
const hello = 'hello';
const helloArray = hello.split('');
console.log(helloArray.reverse().join('')); // olleh
console.log(arr.reverse()); // [ 4, 3, 2, 1 ]
console.log('=>');
console.log(arr); // [ 4, 3, 2, 1 ]
console.log(helloArray); // [ 'o', 'l', 'l', 'e', 'h' ]
sort
Сортирует элементы массива и возвращает массив. Сортировка не обязательно стабильна. Порядок сортировки по умолчанию основан на кодовых точках строки Unicode.
// 0.0.2/sort.js
const arr = [1, 2, 3, 4, 10, 12, 22];
console.log(arr.sort()); // [ 1, 10, 12, 2, 22, 3, 4];
console.log('=>');
console.log(arr); // [ 1, 10, 12, 2, 22, 3, 4];
splice
Добавить/удалить элементы в массив, затем вернуть удаленный элемент.
// 0.0.2/splice.js
const arr = [1, 2, 3, 4];
console.log(arr.splice(1, 2, 10, 12)); // [ 2, 3 ]
console.log('=>');
console.log(arr); // [ 1, 10, 12, 4 ]