JavaScript test
10.2K subscribers
3.05K photos
6 videos
4.43K links
Проверка своих знаний по языку JavaScript.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/js_test

РКН: clck.ru/3KHeYk
Download Telegram
🧠Что будет на выходе?

async function asyncSumOfSquares() {
const numbers = [1, 2, 3, 4, 5];

const result = await numbers.reduce(async (acc, num) => {
const currentSquare = await Promise.resolve(num * num);
return (await acc) + currentSquare;
}, Promise.resolve(0));

console.log(result);
}

asyncSumOfSquares();


Ответ: 55

JavaScript test | ChatGPT | #JavaScript
🧠Что будет на выходе?

function* generator1() {
yield 1;
yield 2;
}

function* generator2() {
yield* generator1();
yield 3;
}

const gen = generator2();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);


Ответ: 1, 2, 3

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?


const a = [1, 2, 3];
const b = a.flatMap(x => [x, x * 2]);
console.log(b);

Ответ: 1, 2, 2, 4, 3, 6

JavaScript test | ChatGPT | #JavaScript
🧩Что будет на выходе?

const data = [
{ id: 1, name: 'Alice', age: 25, gender: 'Female' },
{ id: 2, name: 'Bob', age: 30, gender: 'Male' },
{ id: 3, name: 'Charlie', age: 22, gender: 'Male' },
{ id: 4, name: 'David', age: 35, gender: 'Male' },
];

const result = data.filter(person => person.gender === 'Male').map(person => person.age).reduce((acc, age) => acc + age, 0);

console.log(result);


Ответ: 87

JavaScript test | ChatGPT | #JavaScript
🧩Что будет на выходе?

function* generator() {
const value = yield 1;
yield value;
}

const gen = generator();
console.log(gen.next().value);
console.log(gen.next(2).value);


Ответ: 1, 2

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

const string = "Hello, World! How are you?";

const result = [...string.matchAll(/[aeiou]/g)]
.map(match => match[0])
.reverse()
.join("");

console.log(result);


Ответ: "uoeaoooe"

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

function calculateAsyncSum(numbers) {
return new Promise(resolve => {
setTimeout(() => {
const sum = numbers.reduce((acc, num) => acc + num, 0);
resolve(sum);
}, 1000);
});
}

async function getResult() {
const data = [1, 2, 3, 4, 5];
const result = await calculateAsyncSum(data);
console.log(result);
}

getResult();


Ответ: 15

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

function asyncOperation() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Async operation completed!');
}, 2000);
});
}

const asyncOperationWithTimeout = Promise.race([asyncOperation(), new Promise((_, reject) => setTimeout(() => reject('Timeout!'), 1000))]);

asyncOperationWithTimeout
.then(result => console.log(result))
.catch(error => console.log(error));


Ответ: 'Timeout'

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

const words = ['apple', 'banana', 'cherry'];

const result = words.map(word => word.split('').sort().join(''));

console.log(result);


Ответ: ["aelpp", "aaabnn", "cehrry"]

JavaScript test | ChatGPT | #JavaScript
🔨Что будет на выходе?

const data = [1, 2, 3, 4, 5];

const result = data.flatMap(num => [num * 2, num * 3]);

console.log(result);


Ответ: [2, 3, 4, 6, 6, 9, 8, 12, 10, 15]

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];

let columnSums = [];

for (let i = 0; i < matrix[0].length; i++) {
let sum = 0;
for (let j = 0; j < matrix.length; j++) {
sum += matrix[j][i];
}
columnSums.push(sum);
}

console.log(columnSums);


Ответ: [12, 15, 18]

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

function* generator() {
yield 1;
yield 2;
return 3;
}

const gen = generator();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);


Ответ: 1, 2, 3

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

console.log(new RegExp({}).test("mom"));

console.log(new RegExp({}).test("dad"));


Ответ: true false

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

let arr = [1, 2, 3];

function modifyArray(array) {
array.push(4);
}

modifyArray(arr.splice(1));
console.log(arr);


Ответ: [1]

JavaScript test | ChatGPT | #JavaScript
❗️Что будет на выходе?

let x = 5;
let result = typeof (x + "10");

console.log(result);


Ответ: string

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

function foo() {
let a = b = 0
a++
return a
}

foo()
console.log(typeof a)
console.log(typeof b)


Ответ: undefined, number

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

const obj = {
a: 1,
b: function() {
console.log(this.a);
}
};
const func = obj.b;
func();


Ответ: [undefined

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

function* generator() {
yield 1;
yield 2;
yield 3;
}
const gen = generator();
console.log(gen.next().value);
console.log(gen.next().value);


Ответ: 1, 2

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

function* generator() {
yield 1;
yield new Promise(resolve => resolve(2));
yield 3;
}

const gen = generator();
console.log(gen.next().value);
gen.next().value.then(console.log);
console.log(gen.next().value);


Ответ: 1, 3, 2

JavaScript test | ChatGPT | #JavaScript
🔥Что будет на выходе?

async function asyncQuiz() {
console.log("Start");

const promise1 = new Promise((resolve) => {
setTimeout(() => resolve("Promise 1"), 1000);
});

const promise2 = new Promise((resolve) => {
setTimeout(() => resolve("Promise 2"), 500);
});

console.log(await promise1);
console.log(await promise2);

console.log("End");
}

asyncQuiz();


Ответ: Start, Promise 1, Promise 2, End

JavaScript test | ChatGPT | #JavaScript
Генерация случайных чисел

В примере мы используем Math.random() для получения случайной десятичной дроби между 0 и 1. Затем мы масштабируем и округляем эту дробь, чтобы получить случайное целое число в заданном диапазоне (включая минимальное и максимальное значение).

JavaScript test | ChatGPT | #JavaScript