function isHappy(array){
// записываем пустой массив в array
// (не важно что там мы получили, теперь этого нет)
array = []
// получаем 6 переменных с значением "ничего"(undefined)
let[x,y,z,b,n,v] = array
// сравниваем x+y+z == b+n и выкидываем, никак не используя
// с помощью оператора запятая(,) в if попадает только v
// как мы знаем во всех переменных undefined - if(undefined) - ложь
if(x+y+z == b+n,v){
console.log(`Число ${array} - счастливое!`);
}
else{
console.log(`Число ${array} - несчастливое`);
}
}
// вызываем isHappy с аргументом 000000, который является числом 0,
// просто записанным длинно, а не массивом
isHappy(000000)
const isIterable = x =>
x?.[Symbol.iterator] instanceof Function;isIterable([]) // true
isIterable('') // true
isIterable(document.scripts) // true
isIterable(Array().keys()) // true
isIterable((function*(){})()) // true
isIterable() // false
isIterable(null) // false
isIterable(1) // false
isIterable({}) // false
isIterable(isIterable) // false
const getRepetition = (arr, repeated) => Array
.from(arr.reduce((acc, n) => acc.set(n, -~acc.get(n)), new Map))
.reduce((acc, n) => (n[1] === repeated && acc.push(n[0]), acc), []);function getRepetition(arr, repeated) {
const result = [];
const count = {};
for (const n of arr) {
if (!count.hasOwnProperty(n)) {
count[n] = 0;
}
count[n]++;
}
for (const n in count) {
if (count[n] === repeated) {
result.push(+n);
}
}
return result;
}
:hover для "stuck" состояния элемента с position: sticky. Ведь его явно не хватает почти любому кто использовал этот стиль. Однако его не будет, о причинах (логичных, но далеко неочевидных) можно почитать в соответствующем issue.document.querySelector('.search2__button button')[0]? этот метод итак возвращает первый найденный элемент, возможно вы путаете с querySelectorAll? li:nth-child(-n+6)function getRandomIntInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1) + min);
}
const closestTo = (dateToCompare, datesArray) => {
const buff = datesArray.filter(date => date >=dateToCompare).sort()
return buff.length ? buff[0] : undefined
} const w = 640 // Длина волны
let red, green, blue;
if (w < 380 || w > 781) {
[red, gren, blue] = [0, 0, 0];
} else if (w < 440) {
[red, green, blue] = [(440 - w) / 60, 0, 1];
} else if (w < 490) {
[red, green, blue] = [0, (w - 440) / 50, 1];
} else if (w < 510) {
[red, green. blue] = [0, 1, (510 - w) / 20];
} else if (w < 580) {
[red, green, blue] = [(w - 510) / 70, 1, 0];
} else if (w < 645) {
[red, green, blue] = [1, (645 - w) / 65, 0];
} else {
[red, green, blue] = [1, 0, 0];
}
let factor;
if (w < 380 || w > 781) {
factor = 0;
} else if (w < 420) {
factor = 0.3 + 0.7 * (w - 380) / 40;
} else if (w < 701) {
factor = 1.0;
} else {
factor = 0.3 + 0.7 * (780 - w) / 80;
}
const gamma = 0.8;
const R = (red > 0 ? 255 * Math.pow(red * factor, gamma) : 0);
const G = (green > 0 ? 255 * Math.pow(green * factor, gamma) : 0);
const B = (blue > 0 ? 255 * Math.pow(blue * factor, gamma) : 0);
const color = `rgb(${R}, ${G}, ${B})`;
console.log(color); // rgb(255, 32.763138565028974, 0)