Робота з масивами в JavaScript
Матеріал з Вікі ЦДУ
Версія від 07:59, 21 травня 2010; Халявко Іннф (обговорення • внесок)
Виділення унікальних значень Виділити унікальні значення можна за допомогою функції
function arrayUnique( ar ) { var a = []; var l = ar.length; for(var i = 0; i < l; i++) { for(var j = i+1; j < l; j++) { if (ar[i] === ar[j]) j = ++i; } a.push(ar[i]); } return a; }
також можна добавити функцію в клас Array:
1. Array.prototype.unique = 2. function() { 3. var a = []; 4. var l = this.length; 5. for(var i = 0; i < l; i++) { 6. for(var j = i+1; j < l; j++) { 7. if (this[i] === this[j]) 8. j = ++i; 9. } 10. a.push(this[i]); 11. } 12. return a; 13. };
Приклад:
1. var aList = [1,3,2,1,1,5,3,2]; 2. alert( aList.unique() ); 3.
4. // результат 1,5,3,2
Копіювання масива Щоб скопіювати масив, можна скористатися функцією concat () об'єкта Array. Вона призначена для об'єднання двох масивів, але якщо ми створимо порожній масив і смакота його з масивом, який потрібно скопіювати, то отримаємо копію масиву. Наприклад:
1. var arrayToCopy = [ 1, 2, 3, 4, 5 ]; 2.
3. var copyOfArray = [].concat(arrayToCopy);
Для зручності можна створити копію яка повертає копію масива:
1. function copyArray( ar ){ 2. return [].concat( ar ); 3. }
Або можна добавити функцію copy до класу Array:
1. Array.prototype.copy = 2. function() { 3. return [].concat(this); 4. }; 5.
6. // приклад використання 7. var aList = [1,2,3,4,5]; 8.
9. var newList = aList.copy();
Отримання максимального значення масива Максимальний элемент масива може бути отриманий за допомогою функції, добавлену до класу Array:
1. Array.prototype.max = function(){ 2. return Math.max.apply({},this) 3. }
Приклад використання:
1. var a = [1,2,3,5,4,3,1,34,32,2,12]; 2.
3. alert(a.max()); // повертає 34