Поскольку массивы являются объектами, они получают доступ к определенным специальным встроенным методам, которые можно использовать в качестве инструментов.
Метод среза
Метод Slice помогает извлечь часть массива без изменения массива.
let haloArray = [‘Halo 1’, ‘Halo 2’, ‘Halo 3’, ‘Halo 4’, ‘Halo 5’, ‘Halo Infinite’];
console.log(haloArray.slice(2));
Это удалит первые два элемента в массиве.
Мы также можем указать конечный параметр для метода среза;
console.log(haloArray.slice(2, 4));
Нарезка начнется со второго элемента и закончится на четвертом элементе.
Мы также можем указать отрицательный параметр для метода среза;
console.log(haloArray.slice(-3));
Это начнет нарезку элементов с конца к началу;
Мы также можем получить последний элемент массива;
console.log(haloArray.slice(-1));
Мы также можем использовать метод Slice для создания поверхностной копии массива, который похож на оператор Spread;
console.log(haloArray.slice());
Или с помощью оператора спреда;
console.log([…haloArray]);
Метод соединения
Методы сращивания работают аналогично методу срезов. Однако он изменяет исходный массив, в то время как метод Slice не изменяет его (скорее мутирует).
let haloArray = [‘Halo 1’, ‘Halo 2’, ‘Halo 3’, ‘Halo 4’, ‘Halo 5’, ‘Halo Infinite’];
console.log(haloArray.splice(1, 3));
console.log(haloArray.splice(-1));
console.log(haloArray);
Первый журнал удалит указанное вами количество элементов (начиная с 1-го элемента по 3-й элемент).
Второе бревно будет сращивать конечный элемент.
После объединения будут отображаться только оставшиеся элементы;
Обратный метод
Обратный метод вернет обратный массив. Однако он изменит исходный массив после его реверсирования.
let haloArray = [‘Halo 1’, ‘Halo 2’, ‘Halo 3’, ‘Halo 4’, ‘Halo 5’, ‘Halo Infinite’];
console.log(haloArray);
console.log(haloArray.reverse());
console.log(haloArray);
Метод конкат
Это объединит оба массива вместе.
let haloArray = [‘Halo 1’, ‘Halo 2’, ‘Halo 3’, ‘Halo 4’, ‘Halo 5’, ‘Halo Infinite’];
let haloArrayMCC = ['Halo: Коллекция Мастера Чифа'];
const newHaloArray = haloArray.concat(haloArrayMCC);
Мы также можем использовать оператор Spread для достижения того же результата;
console.log([…haloArray, …haloArrayMCC]);
Метод присоединения
Мы также можем присоединиться к массиву как к строке, используя метод соединения.
let haloArray = [‘Halo 1’, ‘Halo 2’, ‘Halo 3’, ‘Halo 4’, ‘Halo 5’, ‘Halo Infinite’];
let haloArrayMCC = ['Halo: Коллекция Мастера Чифа'];
const newHaloArray = haloArray.concat(haloArrayMCC);
console.log(newHaloArray.join(','));
Циклические массивы
Для метода
Это было продемонстрировано в предыдущей истории, приведенной ниже;
Для каждого метода
Метод For Each — это функция более высокого порядка, что означает, что ему требуется функция обратного вызова, чтобы сообщить ему, что делать. Порядок этих параметров имеет значение;
- Первый параметр — текущий элемент.
- Второй параметр — текущий индекс.
- Третий параметр — это массив, который мы зацикливаем.
const haloArray = [‘Halo 1’, ‘Halo 2’, ‘Halo 3’, ‘Halo 4’, ‘Halo 5’, ‘Halo Infinite’];
haloArray.forEach (функция (ореол, индекс, массив) {
console.log(`Индекс элемента: ${index + 1} = ${halo} `);
});
Здесь мы не используем третий параметр, так как он будет отображать массив haloArray снова и снова. Это всего лишь простой пример для демонстрации метода For each;
Карты
В Картах;
- Первый параметр — текущий элемент.
- Второй параметр — текущий ключ.
- Третий параметр — это карта, которую мы зацикливаем.
const haloMap = новая карта([
[«Halo 1», «Кампания и сетевая игра»],
["Halo 2", "Кампания и сетевая игра"],
["Halo 3", "Кампания и сетевая игра"],
["Halo 3: ODST", "Кампания"],
["Halo 4", "Кампания и сетевая игра"],
["Halo 5", "Кампания и сетевая игра"],
]);
haloMap.forEach (функция (значение, ключ, карта) {
console.log(`${ключ} имеет ${значение}`);
});
Наборы
в наборах;
- Первый параметр — текущий элемент.
- Второй параметр — текущий ключ. Однако нет смысла использовать ключ, так как это то же самое значение. Итак, в данном случае мы используем одноразовую переменную.
- Третий параметр — это набор, который мы зацикливаем.
const haloSet = new Set([‘Halo 1’, ‘Halo 2’, ‘Halo 3’, ‘Halo 4’, ‘Halo 5’]);
haloSet.forEach (функция (значение, _, набор) {
console.log(`${значение}`);
});
Разница между For of Method и For each Method
- Вы не можете выйти из цикла For Each.
- Цикл For Each передает функцию обратного вызова для каждого элемента в массиве.
Метод карты
Метод карты используется для циклического перебора массивов, что дает ему совершенно новый массив. Новый массив даст результат в каждой позиции при применении функции обратного вызова к исходным элементам массива. Однако это не изменяет исходный массив. Это также используется в функциональном программировании.
Метод карты имеет доступ к тем же параметрам, что и указанные выше;
1. Первый параметр — текущий элемент.
2. Второй параметр — текущий ключ.
3. Третий параметр — это массив, по которому мы зацикливаемся.
Ниже приведен простой пример;
const simpleMath = [1, 3, 5, 7];
постоянный множитель = 2;
константный результат = simpleMath.map (функция (значение) {
возвращаемое значение * множитель;
});
console.log(результат);
console.log(простая математика);
Это возвращает значение, которое новый массив должен иметь в своей текущей позиции. Мы также можем использовать цикл for of для достижения того же результата;
const simpleMath = [1, 3, 5, 7];
постоянный множитель = 2;
константный массив результатов = [];
for (константное значение simpleMath) {
resultArray.push (множитель * значение);
}
console.log(resultArray);
Однако использование метода карты более удобно и чище.
Если мы хотим написать меньше кода, мы можем просто использовать стрелочную функцию для достижения этого результата;
const simpleMath = [1, 3, 5, 7];
постоянный множитель = 2;
const resultArrow = simpleMath.map(значение => значение * множитель);
console.log(resultArrow);
Метод фильтра
Метод фильтра используется для фильтрации элементов, удовлетворяющих определенному условию. Он использует функцию обратного вызова, чтобы указать это условие. Простой пример приведен ниже;
const simpleMath = [1, 3, 5, 7];
постоянный множитель = 2;
константный результат = simpleMath.filter (функция (значение) {
возвращаемое значение › 3;
});
console.log(результат);
Это отфильтрует элементы, которые больше 3.
Мы также можем использовать цикл For of Loop для достижения того же результата;
const simpleMath = [1, 3, 5, 7];
постоянный множитель = 2;
константный массив результатов = [];
for (константное значение simpleMath) {
если (значение › 3) resultArray.push(value);
}
console.log(resultArray);
Для более чистого кода мы можем использовать стрелочную функцию для достижения того же результата;
const resultArrow = simpleMath.filter(value =› value › 3);
console.log(resultArrow);
Метод уменьшения
Метод Reduce помогает преобразовать все элементы в массиве в одно значение, например, сложив их вместе или умножив их.
Метод уменьшения использует три параметра;
- Переменная-аккумулятор, которая помогает накапливать значение.
- Переменная Value, присутствующая в массиве.
- Переменная Index, которая показывает позицию.
Ниже приведен простой пример;
const simpleMath = [1, 3, 5, 7];
постоянный множитель = 2;
const result = simpleMath.reduce (функция (аккумулятор, значение, индекс) {
console.log(`Индекс в позиции ${index} : ${accumulator}`);
возвращаемый аккумулятор + значение;
});
console.log(`Общее значение: ${result}`);
Мы также можем использовать цикл For of Loop для достижения того же результата;
const simpleMath = [1, 3, 5, 7];
постоянный множитель = 2;
пусть аккумулятор = 0;
for (константное значение simpleMath) {
аккумулятор += значение;
}
console.log(накопитель);