element.addEventListener("mouseover", function () {
...
this.addEventListener("mouseout", function () { ... });
}); делать нельзя никогда. Это, простите - говно. mouseout. 10 раз навели - 10 обработчиков висит и срабатывает по уводу мышки..figures__hover где-то ниже .what-we-do__li - полностью, иначе частично: в обработчике меняется только класс контейнера.mouseenter и mouseleave. match может вернуть null и тогда произойдёт ошибка во время исполнения.const [a, b, c, d, f, g= ''] = value.match(/\d+/g) || []; Либо, если ты на 146% уверен, что match обязательно что-нибудь найдёт: const [a, b, c, d, f, g= ''] = value.match(/\d+/g) as string[]; error, а не warning - меня всегда вымораживает.Promise.all:function XMLHttpPromise(method, url, data) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open(method, url);
xhr.onload = () => {
if (xhr.status === 200 && xhr.readyState === 4)
resolve(xhr.responseText);
else
reject("Error");
}
xhr.onerror = xhr.ontimeout = reject;
xhr.send(data);
})
}
Promise.all([
XMLHttpPromise('GET', `style.css`),
XMLHttpPromise('GET', `xmlData.html`)
]).then(([value, secondValue]) => {
console.log(value);
console.log(secondValue);
}).catch(console.error); ts-node в tsconfig.json: {
"ts-node": {
"compilerOptions": {
"module": "CommonJS"
}
},
...
} function toFlatMap(array, map = {}) {
for(const {name, children} of array) {
map[name] = children;
toFlatMap(children, map);
}
return map;
}function toFlatMap(array, map = {}) {
let stack = array.slice();
let current;
while(current = stack.shift()) {
map[current.name] = current.children;
stack.push(...current.children);
}
return map;
} date_from и date_to будут глобальными переменными.