Array
одно число, будет создан (будет попытка создания - отрицательные и нецелые числа приведут к ошибке) массив указанной длины. Метод push
может принимать несколько значений, а возвращает - новую длину массива, после добавления элементов. Т.е., в массив из трёх элементов добавили ещё четыре, и получили длину. arr.filter(num => ['1','2','5'].includes(num.toString()[0])
const datePicker = document.createElement("div");
datePicker.className = 'datePickerInline';
// тут накладываем на элемент всякие события
const str = '<div><span>Вставляем</span><div> <div class="replace_me"></div> </div><div><p>в уже готовые html элементы в виде строки</p></div></div>';
let el = document.getElementById('element');
el.innerHTML = str;
el.querySelector('div.replace_me').replaceWith(datePicker);
el
, в который всё это вставляется. example.com/profile
покажет кажому залогиненному пользователю именно его инфу, которую он, к тому же, сможет редактировать.example.com/user/12345
доступная всем, покажет только публичную информацию о юзере с id = 12345. const handle = el => {
setItems(items => items.map(item => item === el
? {
...item,
show: !item.show
}
: item
));
};
const isSumEven = arr => arr.reduce((p, c) => p ^ c, 1) & 1;
// или
const isSumEven = arr => !(arr.filter(n => n % 2).length % 2);
// или
const isSumEven = arr => Number.isInteger(arr.reduce((acc, n) => acc + n, 0) / 2);
// или
const isSumEven = arr => /[02468]$/.test(eval(arr.join('+')) ?? 0);
const result = arr.filter(isSumEven);
. .active
:console.log(`Card ${key + 1} start!`);
el.classList.add('active');
console.log(`Card ${key + 1} end!`); // выполнится почти одновременно с предыдущими строками
setTimeout
на то же время, что длится анимация:console.log(`Card ${key + 1} start!`);
el.classList.add('active');
setTimeout(() => console.log(`Card ${key + 1} end!`), 1000);
el.addEventListener('transitionend', () => {
console.log(`Card ${key + 1} end!`);
});
setTimeout(() => {
console.log(`Card ${key + 1} start!`);
const onTransitionEnd = () => {
console.log(`Card ${key + 1} end!`);
el.removeEventListener('transitionend', onTransitionEnd);
}
el.addEventListener('transitionend', onTransitionEnd);
el.classList.add('active');
}, ms);