const newWord = 'JavaScript';
let glas = ['a','e','i','o','u'];
const lettersCount = (word, letters) =>
word.toLowerCase().split('').reduce((a, l) => (letters.includes(l) && (a[l] = (a[l] ?? 0) + 1), a), {});
console.log(lettersCount(newWord, glas));
a[0]
, а с result
.const getMin = arr => {
let result = arr[0];
for(i = 0; i < arr.length; i++){
if(arr[i] < result){
result = arr[i];
}
}
return result;
}
const getMinOld = a => {
let result = a[0];
for(i=0;i < a.length;i++){
if(a[i]< a[0]){
result = a[i];
}
}
return result;
}
let mas = [22,5,8,3,44,16];
console.log(getMin(mas)); // 3
console.log(getMinOld(mas)); // 16
<input type="text" id="textarea">
// Код воркера в виде строки
const workerCode = `
self.onmessage = (event) => {
const largeArray = event.data;
// Выполнение тяжелой обработки массива
for (let i = 0; i < largeArray.length; i++) {
// Например: largeArray[i] = someProcessing(largeArray[i]);
largeArray[i] *= 2; // Пример обработки: удваиваем каждый элемент
}
// Отправка обработанных данных обратно в главный поток
self.postMessage(largeArray);
};
`;
// Создание Blob из строки с кодом воркера
const blob = new Blob([workerCode], { type: 'application/javascript' });
// Создание объекта Worker из URL на Blob
const worker = new Worker(URL.createObjectURL(blob));
// Обработка сообщений от воркера
worker.onmessage = (event) => {
const processedArray = event.data;
console.log('Обработанный массив:', processedArray);
// Можно обновить интерфейс или использовать данные
};
// Пример массива для обработки
const largeArray = new Array(1e6).fill(15);
function debounce(func, delay) {
let timeout;
return function(...args) {
clearTimeout(timeout);
timeout = setTimeout(() => func.apply(this, args), delay);
};
}
const handleInput = debounce(() => {
worker.postMessage(largeArray);
}, 300); // Вызываем через 300 мс после окончания ввода
// Пример добавления обработчика для textarea
textarea.addEventListener('input', (event) => {
console.log(event.target.value);
handleInput();
});
const data3 = [
{ x: 1, y: 2, z: 3 },
{ x: 4, y: 5, z: 6 },
{ x: 7, y: 8, z: 9 },
];
const changeKeyses = (arr, new_keyses) => arr.map(obj => {
Object.keys(obj).forEach((key, i) => {
let new_key = new_keyses[i];
if (new_key !== undefined) {
let val = obj[key];
delete obj[key];
obj[new_key] = val;
}
});
return obj;
});
console.log(changeKeyses(data3, ["a", "b", "c"]));
console.log(changeKeyses(data3, ["a", "b"]));
console.log(changeKeyses(data3, ["a"]));
const something = async _ => new Promise(resolve => setTimeout(resolve, 100));
const asyncRecursive = async (limit, count = 0) => {
await something();
console.log(count);
count+=1;
if (count < limit) {
await asyncRecursive(limit, count);
}
}
let limit = 10;
(async function() {
for(let n of Array.from(Array(limit).keys())) {
await something();
console.log(n);
}
await asyncRecursive(limit);
})();
https://metanit.com/web/nodejs/
const rotate = document.querySelector("#rotate");
const container = document.querySelector(".container");
container.style.transform = `rotate(${45}deg)`;
rotate.addEventListener('input', (e) => {
const degree = +e.target.value;
const scaleStep = degree*0.001;
const scale = degree === 0 && 1 || degree === 360 && 1 || scaleStep > 1 && 1 || scaleStep < 0.75 && 0.75 || scaleStep;
container.style.transform = `scale(${scale}, ${scale}) rotate(${degree}deg)`;
});
function Block1() {
let a, b, c
/* another code */
}
(function() { /* my code */ })()
Вопрос: как это работает?
const menu = document.querySelector('.burger-menu');
const menuList = document.querySelector('.menu__list');
const activateMenu = () => (menuList.classList.toggle('active-menu'), menu.classList.toggle('active'));
menu.addEventListener('click', activateMenu, true);
const array = [1, 255, 639, 9, 7, 8, 5, 4, 2];
const randomIndex = arr => Math.round(Math.random() * (arr.length-1));
const randomEl = arr => {
let index = randomIndex(arr), prev = arr[index];
return () => {
do {
index = randomIndex(arr);
}
while(prev === arr[index]);
prev = arr[index];
return arr[index];
}
}
const getRandomEl = randomEl(array);
for(let i = 0; i < 10; i++) {
console.log(getRandomEl());
}