Відмінності між версіями «Робота з масивами в JavaScript»
Матеріал з Вікі ЦДУ
(Створена сторінка: '''Виділення унікальних значень''' Виділити унікальні значення можна за допомогою функції…) |
|||
Рядок 13: | Рядок 13: | ||
return a; | 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 |
Версія за 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