Экспоненциальный поиск позволяет выполнять поиск по отсортированному неограниченному списку для указанного входного значения (поисковый «ключ»)
Алгоритм состоит из двух этапов. Первый этап определяет диапазон, в котором ключ поиска находился бы, если бы он был в списке. На втором этапе выполняется бинарный поиск по этому диапазону
export const exponentialSearch = (
array: number[],
x: number
): number | null => {
const arrayLength = array.length
if (arrayLength === 0) return null
if (array[0] === x) return 0
let i = 1
while (i < arrayLength && array[i] <= x) {
i = i * 2
}
const start = Math.floor(i / 2)
const end = Math.min(i, arrayLength - 1)
const result = binarySearchIterative(array, x, start, end)
return result
}
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Для тех, кто хочет подтянуть свои навыки и наконец-то получать ответы на резюме, или начать путь во фронтенде
На канале Интенсивный JavaScript действующий тимлид и опытный разработчик помогает изучить фронтенд на практических задачах, которые интересно кодить
С 17 мая стартует бесплтаное обучение, где он поможет разобраться в JavaScript и Nuxt; а после и в других инструментах
Обучение подойдёт, даже если у вас минимальный опыт в программирвоании — всё объясняюе так, чтобы поняла даже бабуля
Помимо кода
— пошаговый план обучения современному фронтенду,
— способы поиска клиентов с помощью ИИ
— как взять первый заказ на фрилансе без перегретых бирж.
— где искать работу, когда на сайтах вакансий одни отказы
Подписывайтесь, чтобы участвовать, осталось 56 мест
Учиться самому можно бесконечно, если не знать, куда копать. На интенсивах вы сократите время на поиск инфы и получите понятный план от разработчика, который сам нанимает новичков.
Среди всех участников разыграет годовой доступ к топовому ИИ
Please open Telegram to view this post
VIEW IN TELEGRAM
❓ Что такое Event Loop и как он работает?
Ответ:
Event Loop — это механизм, который управляет потоком выполнения кода в JavaScript, обеспечивая асинхронность. Он проверяет Call Stack и очереди задач (например, микрозадачи и макрозадачи) и выполняет их в нужном порядке.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Экспоненциальный поиск позволяет выполнять поиск по отсортированному неограниченному списку для указанного входного значения (поисковый «ключ»)
Алгоритм состоит из двух этапов. Первый этап определяет диапазон, в котором ключ поиска находился бы, если бы он был в списке. На втором этапе выполняется бинарный поиск по этому диапазону
export const exponentialSearch = (
array: number[],
x: number
): number | null => {
const arrayLength = array.length
if (arrayLength === 0) return null
if (array[0] === x) return 0
let i = 1
while (i < arrayLength && array[i] <= x) {
i = i * 2
}
const start = Math.floor(i / 2)
const end = Math.min(i, arrayLength - 1)
const result = binarySearchIterative(array, x, start, end)
return result
}
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Функции
Если у вас есть необходимость изменить объект, то почти всегда надежнее будет создать его копию, и уже в ней проводить мутации
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Ответ:
- number
- boolean
- bigInt
- symbol
- null
- undefined
- object
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
❓ Что такое Object.defineProperty?
Ответ:
Object.defineProperty позволяет определить новое свойство в объекте или изменить существующее, с указанием его настроек (например, enumerable, writable, configurable).
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
💅3❤2
Ответ:
DOM (Document Object Model — «объектная модель документа») — это независящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому HTML-, XHTML- и XML-документов, а также изменять содержимое, структуру и оформление таких документов.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
❓ Что такое Module Pattern?
Ответ:
Module Pattern — это паттерн проектирования в JavaScript, который позволяет создавать модули с приватными переменными и методами, используя замыкания.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
❤2
❓ JS, это однопоточный язык?
Ответ:
JavaScript (JS) является однопоточным языком программирования. Это означает, что у вас есть только один основной поток выполнения кода, который обрабатывает все инструкции последовательно (или синхронно).
Веб-браузеры, в которых JavaScript обычно исполняется, также однопоточные в своей основе.
Однако в JavaScript также есть концепция асинхронного программирования, которая позволяет выполнять операции ввода-вывода (например, запросы к серверу или чтение файлов) без блокировки основного потока выполнения.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
❤4💅1
❓ Что такое Immediately Invoked Async Function Expression (IIFE)?
Ответ:
Это асинхронная версия IIFE, где функция немедленно выполняется асинхронно. Она используется для выполнения асинхронных операций без необходимости явно вызывать функцию.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
❤1
❓Какие способы клонирования объектов существуют в JavaScript?
Ответ:
Клонирование объектов можно сделать несколькими способами:
Использование Object.assign()
Использование оператора spread (...)
Использование JSON.parse() и JSON.stringify() (для глубокого клонирования, но с ограничениями).
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Использование Object.assign()
Использование оператора spread (...)
Использование JSON.parse() и JSON.stringify() (для глубокого клонирования, но с ограничениями).
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
❤1
❓ Что такое Callback Hell?
Ответ:
Callback Hell — это ситуация, когда код становится трудно читаемым и поддерживаемым из-за глубокой вложенности коллбэков. Это часто происходит при работе с асинхронными операциями. Проблему можно решить с помощью Promises или Async/Await.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
💅1
❓Объясните, что такое прототипное наследование в JavaScript?
Ответ:
В JavaScript все объекты имеют скрытое свойство [[Prototype]] (прототип), которое указывает на другой объект. Когда вы пытаетесь получить доступ к свойству объекта, и оно не существует, JavaScript будет искать это свойство в его прототипе. Этот процесс называется прототипным наследованием.
Пример:
const animal = {
speak: function() {
console.log("Animal speaks");
}
};
const dog = Object.create(animal);
dog.speak(); // Animal speaks
В этом примере объект dog наследует метод speak от объекта animal.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend
Ответ:
Пример:
const animal = {
speak: function() {
console.log("Animal speaks");
}
};
const dog = Object.create(animal);
dog.speak(); // Animal speaks
В этом примере объект dog наследует метод speak от объекта animal.
Ставь ❤️ если знаешь ответ
Если нет — ставь 💅
Coderoll | Frontend