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
🧠Что будет на выходе?

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);


Ответ: true, false, 1

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

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

const result = array.map(num => Promise.resolve(num * 2));

console.log(result);


Ответ: [Promise, Promise, Promise, Promise, Promise]

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

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

async function complexMatrixOperation(matrix) {
const result = await Promise.all(matrix.map(async row => {
return await Promise.all(row.map(async num => {
if (num % 2 === 0) {
return await new Promise(resolve => setTimeout(() => resolve(num * 3), 200));
} else {
return await new Promise(resolve => setTimeout(() => resolve(num * 2), 100));
}
}));
}));

console.log(result);
}

complexMatrixOperation(matrix);


Ответ: [[2, 6, 6], [12, 10, 18], [14, 24, 18]]

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

const fetchData = async (id) => {
return new Promise((resolve) => {
setTimeout(() => resolve(`Data for ID ${id}`), 100);
});
};

const ids = [1, 2, 3];

async function complexAsyncFetch(ids) {
const result = await ids.reduce(async (acc, id) => {
const data = await fetchData(id);
const currentResult = await acc;
currentResult.push(data);
return currentResult;
}, Promise.resolve([]));

console.log(result);
}

complexAsyncFetch(ids);


Ответ: ['Data for ID 1', 'Data for ID 2', 'Data for ID 3']

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

async function asyncFunc() {
return 'async';
}

function promiseFunc() {
return new Promise(resolve => resolve('promise'));
}

(async function() {
const result = await (true ? asyncFunc() : promiseFunc());
console.log(result);
})();



Ответ: async


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

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

const result = data.reduce((acc, val) => acc.concat(Array.from({ length: val }, (_, index) => val + index)), []);

console.log(result);


Ответ: [1, 2, 3, 3, 4, 5, 4, 5, 6, 7, 5, 6, 7, 8, 9]

JavaScript test | ChatGPT | #JavaScript
Сортировка массивов объектов

В примере мы создаем массив объектов products, содержащий информацию о различных продуктах. Затем мы используем метод sort() для сортировки этого массива по полю price в порядке возрастания, используя функцию sortByPriceAscending в качестве функции сравнения. Вы можете создать аналогичные функции для сортировки в порядке убывания или для сортировки по другим полям объектов.

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

function recursivePascalTriangle(n, row = [1], triangle = []) {
triangle.push(row);
if (n === triangle.length) {
return triangle;
}
const nextRow = [1];
for (let i = 1; i < row.length; i++) {
nextRow.push(row[i] + row[i - 1]);
}
nextRow.push(1);
return recursivePascalTriangle(n, nextRow, triangle);
}

const result = recursivePascalTriangle(5);

console.log(result);


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

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

const obj1 = {
a: 1,
method() {
return this.a;
}
};

const obj2 = Object.create(obj1);
obj2.a = 2;

console.log(obj2.method());


Ответ: 2

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

function recursiveNQueens(n) {
const board = Array.from({ length: n }, () => Array.from({ length: n }, () => "."));
const solutions = [];
const isSafe = (row, col) => {
for (let i = 0; i < row; i++) {if (board[i][col] === "Q") return false;
const colOffset = row - i;
if (col - colOffset >= 0 && board[i][col - colOffset] === "Q") return false;
if (col + colOffset < n && board[i][col + colOffset] === "Q") return false;
}
return true;
};

const placeQueens = (row) => {
if (row === n) {
solutions.push(board.map(row => row.join("")));
return;
}
for (let col = 0; col < n; col++) {
if (isSafe(row, col)) {
board[row][col] = "Q";
placeQueens(row + 1);
board[row][col] = ".";
}
}
};
placeQueens(0);
return solutions;
}
const result = recursiveNQueens(4);

console.log(result);


Ответ: [[".Q..", "...Q", "Q...", "..Q."], ["..Q.", "Q...", "...Q", ".Q.."]]

JavaScript test | ChatGPT | #JavaScript
Использование WebAssembly для выполнения высокопроизводительного кода в браузере

WebAssembly — это бинарный формат инструкций, предназначенный для выполнения в веб-браузерах, что позволяет запускать высокопроизводительные приложения, написанные на языках, таких как C или C++, в браузере.

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

const person = {};
person.name.toUpperCase();
console.log(person.name);


Ответ: TypeError: Cannot read property 'toUpperCase' of undefined

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

async function asyncFunc() {
return 'async function';
}

function* generator() {
yield 'generator';
yield asyncFunc();
yield 'done';
}

const gen = generator();
(async function() {
console.log(gen.next().value);
console.log(await gen.next().value);
console.log(gen.next().value);
})();


Ответ: generator, async function, done

JavaScript test | ChatGPT | #JavaScript
Использование Object Destructuring для извлечения значений из объектов

Деструктуризация объектов в JavaScript позволяет извлекать значения свойств объекта в переменные.

JavaScript test | ChatGPT | #JavaScript
Работа с датами и временем: использование объекта Date и библиотек для работы с датами

Работа с датами и временем является неотъемлемой частью разработки веб-приложений, особенно при работе с расписаниями, сроками и другими временными данными. Для работы с датами в JavaScript мы можем использовать встроенный объект Date, который предоставляет функциональность для работы с датами и временем.

В данном примере мы создаем объект Date с помощью конструктора new Date(), который инициализирует его текущей датой и временем.

Затем мы используем различные методы объекта Date, такие как getFullYear(), getMonth(), getDate(), getHours(), getMinutes() и getSeconds(), чтобы получить текущие значения года, месяца, дня, часа, минуты и секунды.

Мы также форматируем дату и время, используя шаблон строки и значения, полученные от объекта Date. В данном примере мы форматируем дату в формате "день.месяц.год" и время в формате "часы:минуты:секунды".

JavaScript test | ChatGPT | #JavaScript
Думаете, Биткоин золотая жила?

Чушь. В этом месяце выйдет 6 монет, который обгонят его годовой рост за неделю. Их список скоро выложат в канале Андрей Соколов.

Это блог трейдера, который за 5 лет начальные $10 тыс. превратил в $2 млн. Он находит монеты, которые взлетают в 3-5 раз в течение недели-двух и рассказывает о таких сделках в своем канале.

Все сделки, анализы и наработки публикует в своём блоге. Загляните сами. Ссылка удалится через сутки, имейте в виду 👇

Перейти в канал и посмотеть список самых перспективных монет на июнь →
🧠Чему равна переменная n?

let x = 100; let y = x++;
let z = ++X;
let n = (x== y) ? z++ : ++z;


Ответ: 103


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

const f = new Boolean (false);
if (f) {
console.log(1);
} else {
console.log(2);
}
console.log(typeof f);


Ответ: 1, object

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

const obj = { x: 1, y: 2 };
let {x: a, y: b } = obj;
a = 2;
console.log(obj.x, obj.y);


Ответ: 1, 2

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

let elf = 'Estel';
function lapland (params) { console.log(elf);
let elf = 'Arwen';
}
lapland();


Ответ: ReferenceError

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

const obj = {};
obj.value = undefined;
console.log(Object.hasOwn (obj, 'value'));


Ответ: true

JavaScript test | ChatGPT | #JavaScript