Відмінності між версіями «Робота з масивами в JavaScript»

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

Версія за 08:05, 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:

   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