arr.reduce((acc, [[key], [value]]) => {
if(acc[acc.length - 1]?.[1] === value) {
acc[acc.length - 1][0][1] = key;
}
else {
acc.push([[key], value]);
}
return acc;
}, []).map(([keys, value]) => `${keys.join('-')} : ${value}`)
if (cell == 1) {
ctx.fillStyle = 'red'
} else if (cell == 2) {
ctx.fillStyle = 'green'
} else {
ctx.fillStyle = 'white' // устанавливается белый, пишется белым
}
. ctx.font = "36px serif"
+ ctx.fillStyle = "black"
- ctx.strokeStyle = "black"
ctx.fillText("Hello world", 100, 100)
const answerToBoolean = (answer) => {
switch(answer) {
case 'ok':
case '+':
return true;
case '0':
case '-':
return false;
default:
return null;
}
}
const agreeAnswers = ['ok', '+', 'true', 'agree'];
const answerToBoolean = (answer) => agreeAnswers.includes(answer);
/** renameFields items->children **/
const renameFields = (obj) => ({
name: obj.title,
url: obj.url,
children: obj.items,
});
/** transform Data **/
const transformData = (data) => {
const renamedData = renameFields(data);
if(data.items) {
renamedData.children = renamedData.children.map((child) => renamedData(child));
return renamedData;
}
if(data.items === null) {
renamedData.children = [];
return renamedData;
}
return renamedData;
}
const updateSquares = (axis, step, max) => {
clearRect();
const minAxis = `min${axis.toUpperCase()}`;
const maxValue = max - 12;
squares.forEach((square) => {
square[minAxis] = (maxValue + square[minAxis] + step) % maxValue;
});
updateRect(squares);
}
function moveRect(event) {
switch (event.keyCode) {
// left
case 37:
updateSquares('x', -25, WIDTH);
break
// up
case 38:
updateSquares('y', -25, HEIGHT);
break
// right
case 39:
updateSquares('x', 25, WIDTH);
break
// down
case 40:
updateSquares('y', 25, HEIGHT);
break
default:
break
}
}
const getUniques = (str1, str2) => {
const list1 = str1.replace(/(?<=,)\s+/g, '').split(',');
const list2 = str2.replace(/(?<=,)\s+/g, '').split(',');
return [...new Set([...list1, ...list2])].join(', ');
}
const getUniques = (str1, str2) => {
const list = `${str1},${str2}`.replace(/(?<=,)\s+/g, '').split(',');
return [...new Set(list)].join(', ');
}
figures__hover_1.style.transition = "0.5s"; figures__hover_2.style.transition = "0.5s"; figures__hover_3.style.transition = "0.5s";
document.querySelector('.what-we-do__li-1').addEventListener("mouseover", function () { figures__hover_1.style.top = "100px"; figures__hover_2.style.top = "-100px"; figures__hover_3.style.top = "200px"; this.addEventListener("mouseout", function () { figures__hover_1.style.top = "0px"; figures__hover_2.style.top = "0px"; figures__hover_3.style.top = "190px"; }); });
mouseout
каждый раз при срабатывании mouseout
. А сотня mouseout
на одном элементе... Думаю, ты понял. когда я выношу этот код из функции, удаление срабатывает только 1 раз на том элементе на который я кликаю, почему так происходит?
const obj1 = { value: 'Odd' };
const obj2 = { value: 'Even' };
export const CONST_NAMES_SORT = {
[CONST_NAMES.CONST1]: obj1,
[CONST_NAMES.CONST3]: obj1,
[CONST_NAMES.CONST2]: obj2,
[CONST_NAMES.CONST4]: obj2,
};
CONST_NAMES_SORT[CONST_NAMES.CONST1].value = 'Not Odd';
console.log(CONST_NAMES_SORT[CONST_NAMES.CONST3].value); // > Not Odd
Сначала пробовал перебирать массив а потом обекты.
const result = workPlaces.find((obj) => obj.staff.includes(robot.name));
return result?.name;