В этой статье мы рассмотрим несколько полезных трюков с JavaScript.

Когда вы пишете свой код, вы можете почувствовать, что есть лучший способ сделать это. Итак, позвольте мне показать вам несколько интересных приемов, которые вы можете использовать в своем коде, и сделать его короче и понятнее.

Мы собираемся понять основы этих приемов и варианты их использования. Позвольте мне начать с простого, о котором вы, вероятно, знаете. Или не.

Поменять местами элементы массива

Многие операции с массивами требуют перестановки элементов, например, сортировки. Вам нужно будет написать небольшую служебную функцию, а типичный алгоритм требует временной переменной для подкачки. Но с тех пор я научился этому трюку. Это внушает трепет. Во время нескольких собеседований по кодированию я использовал этот трюк, чтобы произвести впечатление на интервьюера, и он хорошо сработал. Некоторые из них спрашивают: "Что это за синтаксис?"

Для этого мы воспользуемся разрушением. Разрушение было введено в версии JavaScript для ES6.

Вам должно быть интересно, как это работает без использования временной переменной? Деструктуризация имеет значение для вас, поэтому вам не нужно это дополнительное временное значение. Вы также можете использовать деструктуризацию, чтобы поменять местами две переменные.

Пока мы говорим об обмене переменными, позвольте мне показать вам еще один изящный трюк. Мне однажды задали этот вопрос во время интервью. Интервьюер попросил меня поменять местами значения числовых переменных без использования временных переменных или деструктуризации. В итоге я использовал математику для создания трехэтапного процесса, но недавно я упростил его до однострочного решения. Хотя это изящный трюк, пожалуйста, не используйте его в своем проекте, так как он может запутать читателя. Однако вы можете использовать его как вопрос на собеседовании, если хотите, чтобы это было болезненным для них :).

Уничтожение псевдонима

У вас есть объект, из которого вы хотите создать переменную из одного из свойств. Вы легко можете это сделать. Но часто вы хотите использовать имя переменной, отличное от имени свойства. Например, если у вас есть свойство под названием «возраст», имя переменной, которую вы хотите создать, будет «profileAge». вам нужно будет создать псевдоним. Вы можете легко сделать это в несколько строк, но это отличное решение в одной строке кода.

Перемешивание

Многие алгоритмы требуют перемешивания элементов массива. Во время собеседования по кодированию вы можете получить вопрос о создании игры. И в большинстве игр используется алгоритм перетасовки. Когда я проходил собеседование в Uber, они попросили меня сделать игру с тральщиком, а в качестве первого шага я должен был создать макет со случайно размещенными минами. Если вам нужно разработать алгоритм перетасовки, это потребует некоторого размышления; Недавно я наткнулся на эту маленькую уловку, которая делает тасовать кусок пирога.

Чтобы понять приведенный выше код, вам нужно знать, как метод сортировки работает с массивами. Сортировка выполняет функцию обратного вызова; обычно, основываясь на аргументах массивов, мы можем решить, где мы хотим разместить следующий элемент. Эта функция может возвращать положительные, отрицательные или нулевые значения. Мы можем случайным образом создать эти значения с помощью генератора случайных чисел, который всегда положителен, поэтому вычитание 0,5 даст нам примерно 50% шанс вернуть положительное или отрицательное значение.

Преобразование типов

Есть много разных способов преобразовать один тип в другой в JavaScript. Некоторые выглядят чище, чем другие, поэтому убедитесь, что вы не ставите под угрозу читаемость кода, используя определенный способ.

  • нанизывать
  • к номеру
  • С плавающей точкой в ​​целое число
  • к логическому
  • Положительное целое число в двоичное, шестнадцатеричное или восьмеричное

Удаление дубликатов из массива

Это удобное однострочное решение для удаления повторяющихся значений из массива. JavaScript представил новый тип данных под названием `Set` в версии ES6. По умолчанию в наборах не допускается дублирование значений. Таким образом, этот простой трюк включает преобразование массива в набор, который удаляет повторяющиеся значения, а затем преобразовывает набор обратно в массив.