Відмінності між версіями «Робота з масивами в 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