const colors = {
'3': 'red',
'2': 'green',
'1': 'blue',
'0': 'black',
};
const setColor= input => {
const { value } = input;
if (colors.hasOwnProperty(value)) {
input.style.backgroundColor = colors[value];
}
}
const onInput = e => {
setColor(e.target);
}
document.querySelectorAll('input')
.forEach(elem => {
elem.addEventListener('input', onInput);
setColor(elem);
});img-300x160.jpg (ну, загрузили скачанную с такого же сайта и залили к вам). И потом кто-то загружает картинку img.jpg для которой сгенерится версия 300x160.push() возвращает новую длину массива, тут ничего не поделаешь..apply() там зачем. Это учебное задание?newParentPath и последнего элемента, который был в предыдущем массиве mappedPath.mappedPath = [ ...this.newParentPath.split(', '), mappedPath.pop() ]; const D = new Date(); – создать объект Date на сейчас;D.setDate(D.getDate() + 1) — так можно получить следующий деньD.getDay() — получить день недели от 0 (вск) до 6 (суббота)inArray() возвращает ... ещё одну функцию, которую только что создала при вызове:function inArray(arr) {
const result = function(x) {
// внутри этой функции будет ещё и доступен
// arr, с которым вызвали inArray()
return arr.includes(x);
};
return result;
}Т.е. вызов inArray() с каким-то массивом возвращает всего лишь ещё одну функцию, которая принимает любой аргумент, но ещё и «запомнила» конкретный arr, с которым её создали.const myFilter = inArray([1, 2, 10]);это свежесозданная функция, которая для любого аргумента возвращает true/false — есть ли это же значение в массиве [1, 2, 10] const maskCcNumber = num => {
const str = num.toString();
const length = str.length;
const keep = 4;
if (length < keep) return str;
const star = '*';
return str.substring(0, 4) + star.repeat(length - 4);
}
maskCcNumber(454511111111112) // 4545***********"454511111111112".replace(/(.{4})(.*)/, (_, p1, p2) => p1 + '*'.repeat(p2.length))см. String.replace()