Головна‎ > ‎JavaScript‎ > ‎Масиви‎ > ‎

Приклади

Порівнюємо масиви
[] == []  - false
[] === []  - false
arr1 === arr2  - ми порівнюємо посилання на масиви, а вони різні
arr1.toString() === arr2.toString()     OK!
arr1.sort().toString() === arr2.sort().toString()      OK!


А якщо один з елементів масиву текстовий
JSON.stringify( arr1.sort() ) === JSON.stringify( arr1.sort() )      OK!


Сортування різних рядків
arr.sort(function(a, b){
     var x = a.type.toLowerCase();
     var y = b.type.toLowerCase();
     if (x < y) {return -1;}
     if (x > y) {return 1;}
     return 0;
});


Масив у масиві 
const arr = [1, 2, 3, [5, 6, [7]], '8']
arr.toString().split(',') - одновимірний масив з рядками


Сума 
for(let i = 0; i < b.length; i++){
  sum += Number(b[i]) 
}


Сума, коли не всі ел. числа 
for(let i = 0; i < b.length; i++){
  sum += Number.isNaN(Number(b[i])) ? 0 : Number(b[i])
}


Те саме трьома циклами
arr.toString().split(',').map(el => parseFloat(el))
.filter(el => !Number.isNaN(el)).reduce((sum, cur) => acc + cur)


Максимальний елемент масиву
var len = arr.length;
var max = -Infinity;
while (len--) {
     if (arr[len] > max) {
          max = arr[len];
     }
}


Перемішати елементи масиву
var i, j, k;
for (i = arr.length -1; i > 0; i--) {
     j = Math.floor(Math.random() * i)
     k = arr[i]
     arr[i] = arr[j]
     arr[j] = k
}


Видалити дублікати
const a = [1, 2, 2, 1, 3, 3]
console.log(...new set(a))
... - спред оператор (розпакувати)
[...new set(a)] - запакувати в масив


Середнє арифметичне
const avg = a => a.reduce((a,b) => a + b) / a.length


Перевірка на правильність 
const str = "[{{[()]}{[()]}}]"
const stack = []
const open = ['(', '{', '[']
const close = [')', '}', ']']
for(let i = 0; i < b.length; i++){
   if(open.includes(str[i])){
      stack.push(str[i])
   }
   else
   {
      if (close.indexOf(str[i]) === open.indexOf(stack.length - 1))  // порівнюємо індекси
      {
          stack.pop() // видалити останній
      }
      else
     {
         return false
     }
     
   }
   return stack.length === 0
}


Мала - велика літера HeLlO WoRlD
const str = "Hello world"
let res
for(let i = 0; i < b.length; i++){
   res += (i%2) ? str[i].toLowerCase() : str[i].toUpperCase()
}