javascript

javascript Сортировка сиволов строки в алфавитном порядке. Строчные и прописные буквы, пример кода (split, sort)

Можно так:

let str = 'Привет мир!';
let sortedStr =  str.split('').sort().join('');

console.log(sortedStr); //  !Пвеиимррт

-- как видим, большие буквы идут впереди, что не очень "алфавитно", чтобы поправить это передадим функцию сравнения, отличную от той, что использует по умолчанию в sort():

let str = 'Привет мир!';
let sortedStr =  str.split('').sort(
  (a, b) => {
    return a.toLocaleLowerCase() > b.toLocaleLowerCase();
  }
).join('');

console.log(sortedStr); // !веиимПррт

javascript Сортировка массива чисел, пример кода

По возрастанию:

let arr = [1, 5, 4, 10, 3];
arr.sort(function(a, b) {
  return a - b;
});

console.log(arr);

По убыванию:

let arr = [1, 5, 4, 10, 3];
arr.sort(function(a, b) {
  return b - a;
});

console.log(arr);

См. подробности о .sort()

javascript Обход массива. Разные способы перебора элементов

Цикл for - классика во всех языках

Обход массива - максимально "ручным" способом:

// поиск максимума в массиве
let arr = [1, 5, 3];
let max = arr[0];

for (let i = 0; i <= arr.length; i++) {
  if (arr[i] > max) {
    max = arr[i];
  }
}

console.log(max); // ответ

-- все ясно и понятно, можно управлять изменением индекса.

.forEach() - колбэк для каждого элемента

Форич в JS оформлен не как языковая конструкция, а как метода массив, который вызывает переданную функцию для каждого элемента этого массива:

javascript "Устаревание" событий и обработке очереди задач

Когда движок выполняет задачу, которая очень короткая - что гарантирует что клик не совпадет с процессом обработки этой задачи и не будет потерян? Значит по-идее должен быть какой-то механизм устаревания. Т.е. есть некая отдельная очередь генерации событий и если очередь задач слишком долго выполняет текущую макрозадачу, то в очереди генерации событий устаревшие события просто удаляются, так и не генерируясь

Вопросы frontend-разработчику

Javascript

  1. Типы данных в Javascript
  2. Почему в строке можно вызывать toString() - это же примитив? (уточнить вопрос)
  3. Преобразование объектов к примитивам
  4. Делегирование событий
  5. Потеря контекста
  6. Прототипное наследование
  7. Свойство prototype
  8. Объект с неперечисляемыми свойствами
  9. Промисы, console.log() и resolve() - что когда выполнится
  10. Реализация статического метода в функции javascript
  11. Почему методы лучше объявлять через protopype

typescript fake event Пользовательский объект События совместимый с обычными событиями AS

С помощью утверждения типа (as) можно убедить TS, что ваш объект является полноценным событием, напр. пример конструктора такого события для React:

webpack import file-loader Как импортировать загрузить весь код файла

Используя file-loader, можно, например так:

import PDFJSWorker from '!!file-loader!react-pdf/node_modules/pdfjs-dist/build/pdf.worker.js';
pdfjs.GlobalWorkerOptions.workerSrc = PDFJSWorker;

-- такой способ работает без модификации файла конфигурации вебпака.

Документация по file-loader: https://webpack.js.org/loaders/file-loader/

webpack DefinePlugin Использование env переменных из файла в javascript. Пример конфигурации

DefinePlugin позволяет определить какие литералы на что надо заменить в коде при его сборке, именно там с помощью вебпака можно экспортировать переменные из файлов окружения в ваше-фронт приложение

Базования идея (требуется установить npm-пакет dotenv):

Pages

Subscribe to RSS - javascript