MyTetra Share
Делитесь знаниями!
Остальные методы класса Array
Время создания: 27.09.2017 11:19
Текстовые метки: knowledge
Раздел: javaScript - Объекты - Типы объектов - Массивы
Запись: xintrea/mytetra_db_mcold/master/base/1506500398ef08ickpqq/text.html на raw.githubusercontent.com

Остальные методы класса Array.


Array.join() - превращает все элементы массива в строки, объединяет их и возвращает получившуюся строку.
Например если рассмотреть на примере из предыдущего шага - массиве из фамилий, команда myString = myArray.join();поместит в строковую переменную myString значение "Иванов,Петров,Сидоров". По умолчанию для разделения используются запятые.
В необязательном аргументе можно указать подстроку, которая будет использоваться для разделения значений. Например :  команда myString = myArray.join("_"); поместит в строковую переменную myString значение "Иванов_Петров_Сидоров"

Array.reverse() - меняет порядок следования элементов в массиве на обратный и возвращает уже переупорядоченный массив.
Например, если рассмотреть объявленный ранее массив:  

var myArray = new Array("Иванов","Петров","Сидоров","Кузнецов");

то команда console.log(myArray.reverse()); приведет к выводу в консоль значения ["Кузнецов", "Сидоров", "Петров", "Иванов"].

Array.sort() - сортирует элементы в исходном массиве и возвращает отсортированный массив. Если метод использовать без аргумента (функции сортировки), то результат будет отсортирован в алфавитном порядке (в порядке следования символов в Unicode), путем преобразования всего, что возможно в строковый тип. Все, что привести к строкам невозможно - помещается в конец массива. Например, использование этого метода на массиве из предыдущего примера

var myArray = new Array("Иванов", "Петров", "Сидоров", "Кузнецов");

приведет к получению массива вот такого вида:  [ "Иванов", "Кузнецов", "Петров", "Сидоров"].

В качестве аргумента в метод sort() можно передать функцию сравнения. Если результат, возвращаемый функцией сравнения, меньше 0, то сортировка поставит а перед b, и наоборот. Например, чтобы вывести в консоль значения , отсортированные в обратном алфавитном порядке мы можем воспользоваться вот такой командой:

console.log(myArray.sort(function(a, b) {return b - a;}));

Однако надо отметить, что такая функция сравнения сработает только если элементы нашего массива состоят из цифр. Если мы хотим изменить направление сортировки для строковых элементов, функция сравнения должна будет выглядеть чуть иначе, например вот так: 

console.log(myArray.sort(function(a, b) {return b.localeCompare(a);}));  


В данном случае мы использовали метод localeCompare() объекта String, позволяющий сравнивать объекты типа String или строковые литералы.

Array.concat() - возвращает (не изменяя исходного) новый массив с добавлением элементов, переданных в метод в качестве аргумента. Например,  

console.log(myArray.concat("Смит"));

приведет к выводу в консоль  значения [

"Иванов", "Кузнецов", "Петров", "Сидоров", "Смит"].

Array.slice() - возвращает подмассив из массива, от первого до второго (но не включая его) из указанных аргументов. Например 

console.log(myArray.slice(1,3)); 


приведет к выводу в консоль  значения ["Кузнецов", "Петров"], т.е. элементов с индексами 1 и 2.

Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования