html, body { /* обязательно сразу для html и body */
scroll-behavior: smooth;
}
const ranks = [10, 11, 12, 13, 14]; // 10, j, q, k, a
const readableRank = r => r > 10 ? [ 'j', 'q', 'k', 'a' ][r - 11] : r;
// Где-то вывод последовательности (например):
const result = ranks.map(readableRank);
// .map() вызывает функцию для каждого элемента массива и создает новый из результатов
const modalId = 'exampleModal';
const modal = document.getElementById(modalId);
window.alert = function (text) {
modal.classList.remove('fade');
modal.getElementsByClassName('modal-body')[0].innerHTML = text;
};
[...modal.getElementsByClassName('btn')].forEach(el => {
el.addEventListener('click', hideModal);
});
function hideModal() {
modal.classList.add('fade');
}
alert('Test');
let company = {
sales: [{name: 'John', salary: 1000}, {name: 'Alice', salary: 600 }],
development: {
sites: [{name: 'Peter', salary: 2000}, {name: 'Alex', salary: 1800 }],
internals: [{name: 'Jack', salary: 1300}]
}
};
function sumSalaries(department) {
if (Array.isArray(department)) {
console.log('case 1');
return department.reduce((prev, current) => prev + current.salary, 0);массива
} else {
console.log('case 2'); // Выполняется первой
let sum = 0;
for (let subdep of Object.values(department)) {
sum += sumSalaries(subdep);
}
return sum;
}
}
alert(sumSalaries(company)); // 6700 === 6700