Быстрая сортировка
QuickSort — это алгоритм «разделяй и властвуй». Он выбирает элемент в качестве опорного элемента и разбивает заданный массив вокруг выбранного опорного элемента. Существует много разных версий quickSort, которые по-разному выбирают точку опоры. Данная статья поможет разобраться с алгоритмом.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
QuickSort — это алгоритм «разделяй и властвуй». Он выбирает элемент в качестве опорного элемента и разбивает заданный массив вокруг выбранного опорного элемента. Существует много разных версий quickSort, которые по-разному выбирают точку опоры. Данная статья поможет разобраться с алгоритмом.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Callback-функции
Колбэк — это функция, которая должна быть выполнена после завершения выполнения другой функции. Такие функции необходимы, потому что многие действия JavaScript являются асинхронными. Это означает, что они на самом деле не останавливают выполнение программы (или функции) до тех пор, пока они не будут завершены. Данная статья поможет разобраться с колбэк-функциями.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Колбэк — это функция, которая должна быть выполнена после завершения выполнения другой функции. Такие функции необходимы, потому что многие действия JavaScript являются асинхронными. Это означает, что они на самом деле не останавливают выполнение программы (или функции) до тех пор, пока они не будут завершены. Данная статья поможет разобраться с колбэк-функциями.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍5
Свойства объекта
Вы можете получить доступ к свойствам объекта с помощью
Также вы можете использовать это для получения/установки значения свойства, если его название неразрешенный идентификатор.
Некоторые люди не знают этого и заканчивают это использованием
#объекты
Вы можете получить доступ к свойствам объекта с помощью
[]
вместо '.
'. Это позволяет найти свойство, которое соответствует переменной.Также вы можете использовать это для получения/установки значения свойства, если его название неразрешенный идентификатор.
Некоторые люди не знают этого и заканчивают это использованием
eval()
,что по-настоящему плохая идея. Так код сложнее читать, сложнее находить ошибки(невозможно использование jslint
), он медленнее выполняется и может привести к XSS.#объекты
👍1
Шпаргалка по RegEx
Регулярное выражение — это последовательность символов, формирующая шаблон поиска. Шаблон поиска можно использовать для текстового поиска и операций замены текста. Делимся шпаргалкой для работы с RegEx.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Регулярное выражение — это последовательность символов, формирующая шаблон поиска. Шаблон поиска можно использовать для текстового поиска и операций замены текста. Делимся шпаргалкой для работы с RegEx.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍6
Синхронизация между Notion и календарем
Делимся статьей, где автор демонстрирует интеграцию календаря из Notion в Google Calendar через ics. Таким способом события из календаря Notion можно добавить в любой календарь, поддерживающий ics формат.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Делимся статьей, где автор демонстрирует интеграцию календаря из Notion в Google Calendar через ics. Таким способом события из календаря Notion можно добавить в любой календарь, поддерживающий ics формат.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
isInteger
Это аккуратный способ узнать, является ли значение целым числом. Встроенный в JavaScript API
#методы
Это аккуратный способ узнать, является ли значение целым числом. Встроенный в JavaScript API
Number
предоставляет для этого метод isInteger()
. Очень полезная штука, о которой следует знать.#методы
Лайфхаки для улучшения кода
Делимся статьей, где автор демонстрирует полезные лайфхаки для улучшения кода. К ним относятся опциональны цепочки, оператор нулевого слияния, динамический импорт и другие.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Делимся статьей, где автор демонстрирует полезные лайфхаки для улучшения кода. К ним относятся опциональны цепочки, оператор нулевого слияния, динамический импорт и другие.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Сокращение с помощью AND
Давайте рассмотрим ситуацию, в которой у нас есть логическое значение и функция.
Давайте рассмотрим ситуацию, в которой у нас есть логическое значение и функция.
let isPrime = true;Немало кода получается ради проверки логического условия и вызова функции.
const startWatching = () => {
console.log('Started Watching!');
}
if (isPrime) {А как насчёт использования сокращённой записи вместе с оператором AND (&&)? Да, условный оператор "if" нам больше не нужен. Круто, правда?
startWatching();
}
isPrime && startWatching();#методы #and
🔥7👍2
Map против Set
Set — это множество данных коллекции, которое должно состоять из уникальных значений. Map — это коллекция ключ/значение. Map и Set имеют схожие методы; к ним относятся .has(), .get(), .delete() и .size(). Данная статья рассказывает, когда нужно использовать Map и Set.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Set — это множество данных коллекции, которое должно состоять из уникальных значений. Map — это коллекция ключ/значение. Map и Set имеют схожие методы; к ним относятся .has(), .get(), .delete() и .size(). Данная статья рассказывает, когда нужно использовать Map и Set.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍2
Значение по умолчанию с помощью OR
Если для переменной необходимо предусмотреть запасное значение по умолчанию, это достаточно просто реализуется с помощью оператора OR.
Если для переменной необходимо предусмотреть запасное значение по умолчанию, это достаточно просто реализуется с помощью оператора OR.
let person = {name: 'Jack'};#операторы
// если свойство "age" равно "undefined", устанавливает значение 35
let age = person.age || 35;
console.log(Age of ${person.name} is ${age});
❤1
Chrono
Chrono — это парсер даты на естественном языке в Javascript. Он предназначен для обработки большинства форматов даты/времени и извлечения информации из любого заданного текста. В данной статье автор демонстрирует внедрение русского языка в Chrono.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Chrono — это парсер даты на естественном языке в Javascript. Он предназначен для обработки большинства форматов даты/времени и извлечения информации из любого заданного текста. В данной статье автор демонстрирует внедрение русского языка в Chrono.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Произвольные значения
Генерирование произвольных значений или получение произвольного элемента массива – очень полезные методы, которые стоит держать под рукой.
Пара применений:
• Получить произвольный элемент из массива
• Генерирование произвольного числа из диапазона с указанием минимального и максимального значений
#полезно
Генерирование произвольных значений или получение произвольного элемента массива – очень полезные методы, которые стоит держать под рукой.
Пара применений:
• Получить произвольный элемент из массива
• Генерирование произвольного числа из диапазона с указанием минимального и максимального значений
#полезно
👍3🔥3
Редактор SVG диаграмм
DgrmJS — это библиотека JavaScript для создания блок-схем SVG. Основная цель библиотеки — настроить рабочие процессы в системах BPM (Business Process Management). Подробней об этой библиотеке узнаешь из статьи.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
DgrmJS — это библиотека JavaScript для создания блок-схем SVG. Основная цель библиотеки — настроить рабочие процессы в системах BPM (Business Process Management). Подробней об этой библиотеке узнаешь из статьи.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Значения параметров функции по умолчанию
В JavaScript параметры функции подобны локальным переменным. При вызове этой самой функции вы можете и не передавать значения для её параметров. В этом случае они принимают значение "undefined", что может привести к нежелательным последствиям.
Существует простой способ передачи значения по умолчанию для параметров функции при их определении. В примере ниже для параметра "message" функции "greetings" передаётся значение по умолчанию "Hello".
#функции
В JavaScript параметры функции подобны локальным переменным. При вызове этой самой функции вы можете и не передавать значения для её параметров. В этом случае они принимают значение "undefined", что может привести к нежелательным последствиям.
Существует простой способ передачи значения по умолчанию для параметров функции при их определении. В примере ниже для параметра "message" функции "greetings" передаётся значение по умолчанию "Hello".
#функции
❤2
Core Web Vitals
Core Web Vitals — это три показателя, которые оценивают опыт пользователя при загрузке веб-страницы. Эти метрики оценивают, насколько быстро загружается содержимое страницы, как быстро браузер, загружающий веб-страницу, может реагировать на ввод пользователя и насколько нестабильно содержимое загружается в браузере. Данная статья поможет разобраться с Core Web. Vitals.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Core Web Vitals — это три показателя, которые оценивают опыт пользователя при загрузке веб-страницы. Эти метрики оценивают, насколько быстро загружается содержимое страницы, как быстро браузер, загружающий веб-страницу, может реагировать на ввод пользователя и насколько нестабильно содержимое загружается в браузере. Данная статья поможет разобраться с Core Web. Vitals.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Оператор "Запятая"
В JavaScript оператор запятой используется для оценки каждого из операндов слева направо и возврата значения последнего операнда.
В JavaScript оператор запятой используется для оценки каждого из операндов слева направо и возврата значения последнего операнда.
let count = 1;В примере выше значением переменной "
let ret = (count++, count);
console.log(ret);
ret
" будет число 2. По тому же принципу, результатом следующего кода будет вывод в консоль числа 32.let val = (12, 32);Где мы его используем? Есть идеи? Чаще всего оператор запятой используется параметров в цикле "
console.log(val);
for
". В примере ниже оператор запятой задаёт значение переменной "j
" после объявления счётчика "i
".for (var i = 0, j = 50; i <= 50; i++, j--)#оператор
👍5❤1
super
В дочернем классе super() используется для вызова конструктора его родителя и super.<methodName> для доступа к методам его родителя. Данная статья поможет разобраться с super().
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В дочернем классе super() используется для вызова конструктора его родителя и super.<methodName> для доступа к методам его родителя. Данная статья поможет разобраться с super().
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍2❤1
Объединение нескольких объектов
У вас может возникнуть потребность объединить вместе два объекта, чтобы создать третий, более полный. В этом случае можно использовать оператор "
Для глубокого объединения объектов, следует использовать, например, библиотеку lodash
#объект
У вас может возникнуть потребность объединить вместе два объекта, чтобы создать третий, более полный. В этом случае можно использовать оператор "
...
" (да, три точки).let emp = {Их можно объединить с помощью spread-оператора (оператора расширения):
'id': 'E_01',
'name': 'Jack',
'age': 32,
'addr': 'India'
};
let job = {
'title': 'Software Dev',
'location': 'Paris'
};
// spread-оператор
let merged = {...emp, ...job};
console.log('Spread merged', merged);
Существует и другой путь такого объединения. С помощью "Object.assign()
"console.log('Object assign', Object.assign({}, emp, job));Обратите внимание, что и spread-оператор и "
Object.assign
" выполняют поверхностное (shallow) объединение. При поверхностном объединении, если свойства повторяются, то происходит перезапись первого объекта данными из таких же свойств второго.Для глубокого объединения объектов, следует использовать, например, библиотеку lodash
#объект
❤5👍2
WeakSet
Подобно сетам, WeakSet представляет собой набор объектов, которые уникальны друг от друга. WeakSet может хранить только объекты и не может содержать произвольные значения любого типа, такие как строки или числа. Они используют слабые ссылки. Данная статья поможет разобраться с WeakSet.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Подобно сетам, WeakSet представляет собой набор объектов, которые уникальны друг от друга. WeakSet может хранить только объекты и не может содержать произвольные значения любого типа, такие как строки или числа. Они используют слабые ссылки. Данная статья поможет разобраться с WeakSet.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью