🧠Что будет на выходе?
Ответ:[1, 2, 3, 4]
JavaScript test | ChatGPT | #JavaScript
function* generator() {
yield 1;
yield* [2, 3];
yield 4;
}
const gen = generator();
const arr = Array.from(gen);
console.log(arr);Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:1, 2, 3
JavaScript test | ChatGPT | #JavaScript
function* fibonacci() {
let [prev, curr] = [0, 1];
while (true) {
[prev, curr] = [curr, prev + curr];
yield curr;
}
}
const fib = fibonacci();
console.log(fib.next().value);
console.log(fib.next().value);
console.log(fib.next().value);Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:undefined
JavaScript test | ChatGPT | #JavaScript
const asyncFunction = async () => {
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
const result = await Promise.race([delay(100), delay(500)]);
return result;
};
asyncFunction().then(value => console.log(value));Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:2, 1
JavaScript test | ChatGPT | #JavaScript
var a = 1
function output () {
console.log(a)
var a = 2
console.log(a)
}
console.log(a)
output()
console.log(a)
Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:value 1, value 2, false
JavaScript test | ChatGPT | #JavaScript
const sym1 = Symbol('sym');
const sym2 = Symbol('sym');
const obj = {
[sym1]: 'value1',
[sym2]: 'value2'
};
console.log(obj[sym1], obj[sym2], sym1 === sym2);Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:{ 2: 4, 4: 8, 6: 12, 8: 16, 10: 20 }
JavaScript test | ChatGPT | #JavaScript
const numbers = [2, 4, 6, 8, 10];
const result = numbers.reduce((acc, val) => {
acc[val] = val * 2;
return acc;
}, {});
console.log(result);
Ответ:
JavaScript test | ChatGPT | #JavaScript
Работа с асинхронными запросами (AJAX)
Этот код выполняет асинхронный GET-запрос к серверу и обрабатывает ответ в формате JSON.
JavaScript test | ChatGPT | #JavaScript
Этот код выполняет асинхронный GET-запрос к серверу и обрабатывает ответ в формате JSON.
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:3, 3, 3
JavaScript test | ChatGPT | #JavaScript
for (var i = 0; i < 3; i++) {
const log = () => {
console.log(i)
}
setTimeout(log, 100)
}Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:'early', true
JavaScript test | ChatGPT | #JavaScript
function* generator() {
yield 1;
yield 2;
yield 3;
}
const gen = generator();
const { value, done } = gen.return('early');
console.log(value, done);Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:{ amet: 1, dolor: 1, ipsum: 1, lorem: 1, sit: 1 }
JavaScript test | ChatGPT | #JavaScript
const string = "Lorem ipsum dolor sit amet";
const result = string.split(" ")
.map(word => word.toLowerCase())
.reduce((acc, word) => {
acc[word] = (acc[word] || 0) + 1;
return acc;
}, {});
console.log(result);
Ответ:
JavaScript test | ChatGPT | #JavaScript
Рекурсия и оптимизация рекурсивных функций
В первой части кода есть простая рекурсивная функция
Во второй части кода представлена оптимизированная версия функции
Таким образом, оптимизированная версия
JavaScript test | ChatGPT | #JavaScript
В первой части кода есть простая рекурсивная функция
factorial, которая вычисляет факториал числа n. Она вызывает себя с аргументом n - 1, пока n не станет меньше или равно 1.Во второй части кода представлена оптимизированная версия функции
factorialMemoized, которая использует мемоизацию. Мемоизация - это техника, при которой результаты предыдущих вызовов функции сохраняются в памяти и возвращаются в случае повторного вызова с теми же аргументами. В данном случае, мы используем объект memo для хранения результатов предыдущих вызовов factorialMemoized. Если результат уже вычислен для конкретного n, мы возвращаем его из memo, иначе вычисляем и сохраняем в memo.Таким образом, оптимизированная версия
factorialMemoized более эффективна при вычислении факториала для больших чисел, так как избегает переполнения стека вызовов, и вычисляет результаты только один раз для каждого n.JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:[" user@example.com ", " info.company.org "]
JavaScript test | ChatGPT | #JavaScript
const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
const emails = ["user@example.com", "john.doe@gmail.", "invalid-email", "info@company.org"];
const validEmails = emails.filter(email => emailPattern.test(email));
console.log(validEmails);Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:[1, 2, 3, 4, 5, 6, 7, 8, 9]
JavaScript test | ChatGPT | #JavaScript
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
let flattenedMatrix = [];
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
flattenedMatrix.push(matrix[i][j]);
}
}
console.log(flattenedMatrix);
Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:[2, 4, 4, 6, 6, 6, 8, 8, 8, 8, 10, 10, 10, 10, 10]
JavaScript test | ChatGPT | #JavaScript
const data = [1, 2, 3, 4, 5];
const result = data.flatMap(num => Array(num).fill(num * 2));
console.log(result);
Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:2, 1
JavaScript test | ChatGPT | #JavaScript
const sym = Symbol('unique');
const obj = {
[sym]: 'symbol value',
a: 1,
b: 2
};
const keys = Object.keys(obj);
const symbols = Object.getOwnPropertySymbols(obj);
console.log(keys.length, symbols.length);Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:['e', 'l', 'p', 'p', 'a', 'e', 'n', 'a', 'b', 'h', 'c', 'e', 'r', 'r', 'y']
JavaScript test | ChatGPT | #JavaScript
const words = ['apple', 'banana', 'cherry'];
const result = words.flatMap(word => word.split('').reverse());
console.log(result);
Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:[1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
JavaScript test | ChatGPT | #JavaScript
const items = [1, 2, 3, 4, 5];
const result = items.reduce((acc, val) => acc.concat(Array.from({ length: val }, () => val)), []);
console.log(result);
Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5]]
JavaScript test | ChatGPT | #JavaScript
const data = [1, 2, 3, 4, 5];
const result = data.map(num => Array.from({ length: num }, (_, index) => index + 1));
console.log(result);
Ответ:
JavaScript test | ChatGPT | #JavaScript
Работа с локальным хранилищем
JavaScript test | ChatGPT | #JavaScript
localStorage позволяет хранить данные на стороне клиента (в браузере). Методы setItem() используются для записи данных, getItem() для чтения данных и removeItem() для удаления данных из локального хранилища.JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:2
JavaScript test | ChatGPT | #JavaScript
const obj = {
value: 1,
method() {
return this.value;
}
};
const boundMethod = obj.method.bind({ value: 2 });
console.log(boundMethod());Ответ:
JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?
Ответ:true, false, 1
JavaScript test | ChatGPT | #JavaScript
const obj1 = { a: 1 };
const obj2 = { b: 2 };
Object.setPrototypeOf(obj2, obj1);
console.log('a' in obj2);
console.log(obj2.hasOwnProperty('a'));
console.log(obj2.__proto__.a);Ответ:
JavaScript test | ChatGPT | #JavaScript