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