JavaScript. Методы работы с массивами. Список

Методы работы с массивами. Список. Метод at(). Методы, определяющие информацию о массиве в целом: every(), some(), includes()


Содержание


Поиск на других ресурсах:

1. Методы (функции) для работы с массивами. Общий синтаксис использования. Перечень

В JavaScript для работы с массивами используется широкий набор методов. Эти методы позволяют удобно оперировать элементами массивов.

Вызов методов происходит на основе общего синтаксиса

obj.FuncName(parameters)

где

  • obj – имя экземпляра массива созданного литеральным способом (квадратные скобки []) или с помощью оператора new Array();
  • FuncName – имя метода (функции) для работы с массивом;
  • parameters – список параметров.

Ниже представлен список методов языка JavaScript для работы с массивами и их интерпретация:

  • concat() – возвращает новый массив, содержащий текущий массив и дополненный другими массивами и элементами;
  • every() – возвращает значение true, если каждый элемент массива удовлетворяет условию, которое задается тестовой функцией. Иначе возвращается false;
  • filter() – возвращает новый массив, содержащий все элементы текущего массива согласно условию, которое задается в тестовой функции;
  • forEach() – выполняет заданную функцию для каждого элемента массива;
  • indexOf() – возвращает индекс первого вхождения заданного значения в массиве;
  • join() – объединяет все элементы массива в одну строку;
  • lastIndexOf() – возвращает индекс последнего вхождения заданного значения в массиве;
  • map() – возвращает новый массив, который формируется на основе заданной функции преобразования;
  • pop() – удаляет (вытаскивает) последний элемент из массива;
  • push() – добавляет новый элемент в конец массива;
  • reduce() – сводит два значения массива в одно. Для каждого значения применяется заданная функция (слева направо);
  • reduceRight() – работает так же как функция reduce(), только функция применяется справа налево;
  • reverse() – формирует элементы массива в обратном порядке;
  • shift() – возвращает первый элемент из массива и одновременно удаляет (вытягивает) его (выполняет смещение элементов);
  • slice() – возвращает массив, являющийся частью другого исходного массива;
  • some() – возвращает значение true, если один или несколько элементов удовлетворяют условию, представленному тестовой функцией;
  • sort() – возвращает отсортированный массив. По умолчанию массив сортируется в алфавитном порядке и порядке возрастания;
  • splice() – возвращает новый массив, состоящий из элементов, добавленных или удаленных из данного массива;
  • toString() – преобразует массив в строку;
  • unShift() – возвращает новый массив, к которому добавлен один или несколько элементов. Длина массива изменяется.

 

2. Метод at(). Получить элемент массива по индексу

Для получения элемента массива по указанному индексу используется метод at()

item = array.at(index)

здесь

  • array – исходный массив;
  • index – позиция элемента в массиве array;
  • item – полученный элемент.

Вызов метода at() эквивалентен вызову

item = array[index]

Пример.

// Метод at(). Получить элемент массива по индексу.

// 1. Исходный массив чисел
var A = new Array( 0, 1, 2, 3, 4, 5, 6, 7 )
var itemA = A.at(3) // itemA = 3
console.log("itemA = " + itemA)

// 2. Массив строк
var S = [ "abcd", "efgh", "ijklm", "noprst" ]
var itemS = S.at(2) // itemS = ijklm
console.log("itemS = " + itemS)

Результат

itemA = 3
itemS = ijklm

 

3. Метод every(). Определить, удовлетворяет ли каждый элемент массива условию

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

Упрощенный вид использования метода every() в программе может быть таким

res = array.every(Func)

где

  • array – исходный массив объектов, который обрабатывается;
  • Func – имя функции, возвращающей true или false;
  • res – результат логического типа (true, false).

В продолжение темы, функция Func() может получать до 3 параметров. Объявление функции с 3 параметрами имеет вид

function Func(value, index, array)
{
  // Тело функции, которая возвращает
  // логическое значение (true или false)
  // ...
}

здесь

  • value – значение обрабатываемого элемента массива array;
  • index – позиция элемента value в массиве array. Таким образом, value == array.index;
  • array – обрабатываемый массив элементов.

Функцию Func() можно также реализовать с двумя и одним параметром:

// Объявление с 2 параметрами
function Func(value, index)
{
  // ...
}

// Объявление с 1 параметром,
// это случай, когда значения value достаточно
function Func(value)
{
  // ...
}

Пример.

В примере с помощью функции every() определяется:

  • все ли элементы массива целых чисел положительны (>=0);
  • имеют ли все строки в массиве длину от 0 до 3 символов (не более 3 символов).

 

// Функция every().
// Определить, каждый ли элемент массива удовлетворяет условию
// 1. Для массива целых чисел
// 1.1. Объявить массив чисел
var A1 = [2, 8, 3, 5, 4, 1, 8, 3, 10, 0 ];

// 1.2. Объявить функцию, которая возвращает true,
// если элемент массива не отрицательный (>=0)
function IsPositive(value, index, array) {
  return array[index] >= 0
}

// 1.3. Создать новый массив и вывести его
var res = A1.every(IsPositive);
console.log("res = " + res)

// 2. Для массива строк
// 2.1. Объявить массив строк
var S1 = ["abd", "abc", "abd", "bd", "jklmn", "j"]

// 2.2. Объявить функцию, возвращающую true,
// если строка имеет длину не более 3 символов (0..3).
function IsLength_1_3(value) {
  if (value.length <= 3) return true;
  else return false;
}

// 2.3. Вызвать функцию every() - определить, все ли строки
// имеют длину от 0 до 3 символов.
res = S1.every(IsLength_1_3)
console.log("res = " + res)

console.log("Ok");

Результат

res = true
res = false
Ok

 

4. Метод some(). Определить, удовлетворяет ли хотя бы один элемент массива заданному условию

Метод some() возвращает true, если в заданном массиве существует хотя бы один элемент, удовлетворяющий заданному условию. Условие задается функцией. Использование метода в программе может быть таким

result = array.some(Func)

здесь

  • array – просматриваемый массив;
  • result – результат логического типа, который принимает значение true или false;
  • Func – имя функции, определяющей соответствие элемента заданному критерию (заданному условию).

Функция Func() имеет примерно следующее использование

function Func(value, index, array) {
  // Выполнение действий которые возвращают true или false
  // ...
}

здесь

  • value – текущее значение рассматриваемого массива array;
  • index – позиция текущего значения массива array. Таким образом, array[index]==value;
  • array – имя рассматриваемого массива.

Функция Func() может использоваться с одним параметром value, если этого достаточно для определения критерия отбора

function Func(value) {
  // Выполнение действий которые возвращают true или false
  // ...
}

Пример.

// Метод some(). Определить, соответствует ли хотя бы один
// элемент массива условию, заданному функцией

// 1. Обработка массива целых чисел
// Определить, является ли хотя бы один элемент массива равным значению 30.
// 1.1. Объявить исходный массив чисел
var A = new Array(10, 1, -2, 30, -4, 5, 26, 17)

// 1.2. Сформировать функцию, которая возвращает true или false
function Is_Equal_30(value, index, array) {
  return array[index] == 30
}

// 1.3. Вызвать метод some()
var res = A.some(Is_Equal_30)

// 1.4. Вывести результат
console.log("res = " + res) // res = true

// 2. Обработка строки
// Определить, есть ли в заданном массиве строк слово "abc"
// 2.1. Задана некоторая строка
var S = ["ac", "acb", "bca", "bcd", "bcb", "aba", "abc"]

// 2.2. Объявить функцию Is_Plus(), которая возвращает true,
// если элемент массива есть словом "abc"
function Is_ABC(value) {
  return value == "abc"
}

// 2.3. Определить, есть ли в массиве S слово "abc"
res = S.some(Is_ABC)

// 2.4. Вывести результат
console.log("res = " + res)

Результат

res = true
res = true

 

5. Метод includes().Определить наличие заданного элемента в массиве

Функция includes() определяет, имеется ли в массиве заданный элемент. Если элемент присутствует, то функция возвращает true, в противном случае функция возвращает false. Использование функции в программе может быть таким

f_is = array.includes(item)

здесь

  • array – массив, в котором происходит поиск элемента;
  • f_is – результат;
  • item – искомый элемент.

Пример.

// Метод includes().
// Определить, есть ли заданный элемент в массиве.

// 1. Исходный массив чисел
var A1 = new Array( 10, 21, -12, 33, -41, 55, 60, 87 )

// 2. Вызвать функцию
var res = A1.includes(33)

// 3. Вывести результат
console.log("A1 = " + A1)
console.log("res = " + res)

Результат

A1 = 10,21,-12,33,-41,55,60,87
res = true

 


Связанные темы