Приклади
Порівнюємо масиви
[] == [] - 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()
}