В этом примере суммируются общие методы работы для массивов JavaScript. Поделитесь этим для вашей ссылки. Детали следующие:
Предисловие
Я полагаю, что все привыкли использовать операции, связанные с массивами, обычно используемые в библиотеках классов, таких как JQUERY или подчеркивание, такие как $ .ISARRAY, _.SOME, _.find и другие методы. Вот не что иное, как немного больше оберток для местных операций JS Array.
Здесь мы в основном суммируем общие API для операций массива JavaScript. Я считаю, что для всех будет очень полезно решить проблемы программы.
1. Природа
Массив в JavaScript является специальным объектом, а индекс, используемый для представления смещения, является свойством объекта, а индекс может быть целым числом. Однако эти числовые индексы внутренне преобразуются в тип строки, поскольку имя атрибута в объекте JavaScript должно быть строкой.
2. Операция
1 Определите тип массива
Скопируйте код следующим образом: var array0 = []; // буквальный
var array1 = new Array (); // конструктор
// Примечание. Метод Array.Isarray не поддерживается в IE6/7/8
оповещение (Array.Isarray (Array0));
// рассмотреть совместимость, можно использовать
предупреждение (экземпляр массива Array1);
// или
alert (object.prototype.tostring.call (array1) === '[object array]');
2 массива и строка
Очень просто: конвертируйте из массива в строку, используйте соединение; Преобразуйте из строки в массив, используйте разделение.
Скопируйте код следующим образом: // join - преобразовать из массива в строку, используйте соединение
console.log (['hello', 'world']. join (',')); // Привет, мир
// Сплит - преобразовать из строки в массив, используя сплит
console.log ('hello world ». split (' ')); // ["Привет, мир"]
3 Найти элементы
Я считаю, что каждый часто использует индекс типа строкового типа, но редко знает, что индекс массива также может использоваться для поиска элементов.
Скопируйте код следующим образом: // indexof - найти элементы
console.log (['abc', 'bcd', 'cde']. indexof ('bcd')); // 1
//
var objinarray = [
{
Имя: «Король»,
проход: '123'
},
{
Имя: 'king1',
Пас: '234'
}
];
console.log (objinarray.indexof ({
Имя: «Король»,
проход: '123'
})); // -1
var elementOfarray = objinarray [0];
console.log (objinarray.indexof (elementofarray)); // 0
Из вышесказанного мы можем видеть, что для массива, содержащего объекты, метод индекса не получает соответствующих результатов поиска посредством глубокого сравнения, а только сравнивает ссылки на соответствующие элементы.
4 соединения массива
При использовании CONCAT имейте в виду, что после использования CONCAT будет создан новый массив.
Кода кода следующая: var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
var array3 = array1.concat (Array2); // после реализации соединения массива будет создан новый массив
console.log (Array3);
5 категорий операций списков
Чтобы добавить элементы, вы можете использовать Push и Unshift соответственно, и для удаления элементов вы можете использовать POP и Shift соответственно.
Скопируйте код следующим образом: // push/pop/shift/unshift
var array = [2, 3, 4, 5];
// Добавить в конце массива
Array.push (6);
console.log (массив); // [2, 3, 4, 5, 6]
// Добавить в заголовок массива
Array.unshift (1);
console.log (массив); // [1, 2, 3, 4, 5, 6]
// Удалить последний элемент
var elementOfpop = array.pop ();
console.log (elementofpop); // 6
console.log (массив); // [1, 2, 3, 4, 5]
// Удалить первый элемент
var elementOfshift = array.shift ();
console.log (elementofshift); // 1
console.log (массив); // [2, 3, 4, 5]
6 метод сплайсинга
Два основных использования:
① Добавить и удалить элементы из середины массива
② Получите новый массив из оригинального массива
Конечно, эти два использования синтезируются в одном газе. Некоторые сценарии сосредоточены на первой цели, в то время как другие сосредоточены на второй цели.
Добавить и удалить элементы из средней позиции массива. Метод сплайсинга добавляет элементы в массив. Требуются следующие параметры.
① Запуск индекс (то есть, где вы хотите начать добавлять элементы)
② Количество элементов, которые необходимо удалить, или количество извлеченных элементов (параметр установлен на 0 при добавлении элементов)
③ Элементы, которые вы хотите добавить в массив
Кода кода следующая: var nums = [1, 2, 3, 7, 8, 9];
nums.splice (3, 0, 4, 5, 6);
console.log (nums); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
// затем выполните работу удаления или извлеките новый массив
var newnums = nums.splice (3, 4);
console.log (nums); // [1, 2, 3, 8, 9]
console.log (newnums); // [4, 5, 6, 7]
7 сорта
Основное введение в методы обратного и сортировки. Инверсия массива использует обратный, метод сортировки может использоваться не только для простой сортировки, но и для сложной сортировки.
Скопируйте код следующим образом:/ инвертировать массив
var array = [1, 2, 3, 4, 5];
Array.Reverse ();
console.log (массив); // [5, 4, 3, 2, 1]
Сначала мы сортируем массив струнных элементов
var arrayofnames = ["David", "mike", "Cynthia", "Clayton", "Bryan", "Raymond"];
arrayofnames.sort ();
console.log (arrayofnames); // ["Брайан", "Клейтон", "Синтия", "Дэвид", "Майк", "Рэймонд"]
Мы сортируем массивы числовых элементов
Скопируйте код следующим образом:/ Если элемент массива является численным типом, результат сортировки сортировки SORT () не будет удовлетворительным.
var nums = [3, 1, 2, 100, 4, 200];
nums.sort ();
console.log (nums); // [1, 100, 2, 200, 3, 4]
Метод сортировки сортирует элементы в порядке словаря, поэтому он предполагает, что все элементы являются типами строк, поэтому даже если элементы являются числовыми типами, они считаются типами строк. В настоящее время вы можете пройти функцию сравнения размеров при вызове метода. При сортировке метод сортировки () будет сравнивать размеры двух элементов в массиве на основе функции, тем самым определяя порядок всего массива.
Скопируйте код следующим образом: var compare = function (num1, num2) {
вернуть num1> num2;
};
Nums.sort (сравните);
console.log (nums); // [1, 2, 3, 4, 100, 200]
var objinarray = [
{
Имя: «Король»,
проход: '123',
Индекс: 2
},
{
Имя: 'king1',
проход: '234',
Индекс: 1
}
];
// Вспомогательный приказ в соответствии с индексом элементов объекта в массиве
var compare = function (o1, o2) {
вернуть o1.index> o2.index;
};
objinarray.sort (сравните);
console.log (objinarray [0] .index <objinarray [1] .index); // истинный
8 итераторный метод
В основном включает в себя Foreach и каждый, некоторые и карта, фильтр
Я считаю, что каждый может сделать это Фореш, и я в основном представлю другие четыре метода.
Каждый метод принимает функцию с логическим возвратным значением, которое используется для каждого элемента в массиве. Если функция возвращает истину для всех элементов, метод возвращает true.
Кода кода следующая: var nums = [2, 4, 6, 8];
// метод итератора, который не генерирует новые массивы
var Iseven = function (num) {
вернуть num % 2 === 0;
};
// Если все равно числа, вернуть истинность
console.log (nums.every (iseven)); // истинный
Некоторый метод также принимает функцию с логическим возвратным значением. Пока есть элемент, который приводит к возвращению функции, метод возвращает True.
var Iseven = function (num) {
вернуть num % 2 === 0;
};
var Nums1 = [1, 2, 3, 4];
console.log (nums1.some (iseven)); // истинный
Методы как карты, так и фильтра могут создавать новые массивы. Новый массив, возвращаемый MAP, является результатом применения функции к исходному элементу. нравиться:
Скопируйте код следующим образом: var up = function (Grade) {
возврат класса += 5;
}
var grades = [72, 65, 81, 92, 85];
var newgrades = grades.ma
Метод фильтра очень похож на каждый метод, передавая функцию с логическим возвратным значением. В отличие от метода каждого (), когда функция применяется ко всем элементам в массиве, и результат верен, метод не возвращает истинность, но возвращает новый массив, который содержит элементы, результат которого верно после того, как функция применяется.
Скопируйте код следующим образом: var Iseven = function (num) {
вернуть num % 2 === 0;
};
var isodd = function (num) {
вернуть num % 2! == 0;
};
var nums = [];
для (var i = 0; i <20; i ++) {
Nums [i] = i + 1;
}
var Evens = nums.filter (iseven);
console.log (Evens); // [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
var adds = nums.filter (isodd);
console.log (шансы); // [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
3. Резюме
Вышеуказанное также имеет проблему, что некоторые методы не поддерживаются в браузерах низкого уровня, и другие методы должны использоваться для совместимой реализации.
Это общие методы, о которых может быть нелегко придумать. Каждый может также уделять больше внимания.
Я надеюсь, что эта статья будет полезна для каждого программирования JavaScript.