33 очень практичных однострочных кода на JavaScript, рекомендуем к сбору!

внешний интерфейс программист JavaScript
33 очень практичных однострочных кода на JavaScript, рекомендуем к сбору!

Это второй день моего участия в ноябрьском испытании обновлений, подробности о мероприятии:Вызов последнего обновления 2021 г.


Недавно я увидел некоторые статьи о линейке кода в иностранном техническом сообществе. Я нашел это очень интересно. Я отсортировал его и поделился с тобой. Я надеюсь, что это поможет тебе ~

Эти методы используют некоторые API для упрощения работы, но некоторые методы не очень элегантны для написания строки, поэтому здесь мы в основном учимся навыкам использования API!

1. Обработка даты

1. Проверьте, действительна ли дата

Этот метод используется для проверки правильности заданной даты:

const isDateValid = (...val) => !Number.isNaN(new Date(...val).valueOf());

isDateValid("December 17, 1995 03:24:00");  // true

2. Рассчитайте интервал между двумя датами

Этот метод используется для расчета интервала между двумя датами:

const dayDif = (date1, date2) => Math.ceil(Math.abs(date1.getTime() - date2.getTime()) / 86400000)
    
dayDif(new Date("2021-11-3"), new Date("2022-2-1"))  // 90

До китайского Нового года осталось 90 дней~

3. Найдите день года, в котором находится дата

Этот метод используется для определения того, на какой день в году приходится данная дата:

const dayOfYear = (date) => Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);

dayOfYear(new Date());   // 307

В 2021 году прошло более 300 дней~

4. Форматирование времени

Этот метод можно использовать для преобразования времени в формат час:минуты:секунды:

const timeFromDate = date => date.toTimeString().slice(0, 8);
    
timeFromDate(new Date(2021, 11, 2, 12, 30, 0));  // 12:30:00
timeFromDate(new Date());  // 返回当前时间 09:00:00

Во-вторых, обработка строк

1. Сделать первую букву строки заглавной

Этот метод используется для преобразования первой буквы английской строки в заглавную:

const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1)

capitalize("hello world")  // Hello world

2. Переверните строку

Этот метод используется для переворачивания строки и возврата перевернутой строки:

const reverse = str => str.split('').reverse().join('');

reverse('hello world');   // 'dlrow olleh'

3. Случайная строка

Этот метод используется для генерации случайной строки:

const randomString = () => Math.random().toString(36).slice(2);

randomString();

4. Обрезать строку

Этот метод усекает строку заданной длины:

const truncateString = (string, length) => string.length < length ? string : `${string.slice(0, length - 3)}...`;

truncateString('Hi, I should be truncated because I am too loooong!', 36)   // 'Hi, I should be truncated because...'

5. Удалить HTML из строки

Этот метод используется для удаления элементов HTML из строки:

const stripHtml = html => (new DOMParser().parseFromString(html, 'text/html')).body.textContent || '';

3. Обработка массива

1. Удалить дубликаты из массива

Этот метод используется для удаления дубликатов в массиве:

const removeDuplicates = (arr) => [...new Set(arr)];

console.log(removeDuplicates([1, 2, 2, 3, 3, 4, 4, 5, 5, 6]));

2. Проверьте, пуст ли массив

Этот метод используется для проверки того, что массив пуст, он вернет логическое значение:

const isNotEmpty = arr => Array.isArray(arr) && arr.length > 0;

isNotEmpty([1, 2, 3]);  // true

3. Объединить два массива

Два массива можно объединить двумя способами:

const merge = (a, b) => a.concat(b);

const merge = (a, b) => [...a, ...b];

4. Цифровая операция

1. Определите, является ли число нечетным или четным

Этот метод используется для определения того, является ли число нечетным или четным:

const isEven = num => num % 2 === 0;

isEven(996); 

2. Получите среднее значение набора чисел

const average = (...args) => args.reduce((a, b) => a + b) / args.length;

average(1, 2, 3, 4, 5);   // 3

3. Получить случайное целое число между двумя целыми числами

Этот метод используется для получения случайного целого числа между двумя целыми числами.

const random = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);

random(1, 50);

4. Округлить указанное количество цифр

Этот метод используется для округления числа до указанного места:

const round = (n, d) => Number(Math.round(n + "e" + d) + "e-" + d)

round(1.005, 2) //1.01
round(1.555, 2) //1.56

Пять, цветная операция

1. Преобразование RGB в шестнадцатеричный механизм

Этот метод может преобразовать значение цвета RGB в шестнадцатеричное значение:

const rgbToHex = (r, g, b) => "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);

rgbToHex(255, 255, 255);  // '#ffffff'

2. Получить случайный шестнадцатеричный цвет

Этот метод используется для получения случайного шестнадцатеричного значения цвета:

const randomHex = () => `#${Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, "0")}`;

randomHex();

6. Работа в браузере

1. Скопируйте содержимое в буфер обмена

Этот метод использует navigator.clipboard.writeText для копирования текста в буфер обмена:

const copyToClipboard = (text) => navigator.clipboard.writeText(text);

copyToClipboard("Hello World");

2. Очистить все файлы cookie

Этот метод может получить доступ к файлам cookie и очистить все файлы cookie, хранящиеся на веб-странице, с помощью document.cookie:

const clearCookies = document.cookie.split(';').forEach(cookie => document.cookie = cookie.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date(0).toUTCString()};path=/`));

3. Получить выделенный текст

Этот метод получает текст, выбранный пользователем, через встроенное свойство getSelection:

const getSelectedText = () => window.getSelection().toString();

getSelectedText();

4. Определите, является ли это темным режимом

Этот метод используется для определения того, является ли текущая среда темным режимом, это логическое значение:

const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches

console.log(isDarkMode)

5. Прокрутите страницу вверх.

Этот метод используется для возврата к началу страницы:

const goToTop = () => window.scrollTo(0, 0);

goToTop();

6. Определите, активна ли текущая вкладка

Этот метод используется для определения того, была ли активирована текущая вкладка:

const isTabInView = () => !document.hidden; 

7. Определите, является ли текущее устройство устройством Apple.

Этот метод используется для определения того, является ли текущее устройство устройством Apple:

const isAppleDevice = () => /Mac|iPod|iPhone|iPad/.test(navigator.platform);

isAppleDevice();

8. Нужно ли прокручивать страницу вниз

Этот метод используется для определения того, находится ли страница уже внизу:

const scrolledToBottom = () => document.documentElement.clientHeight + window.scrollY >= document.documentElement.scrollHeight;

9. Перенаправление на URL-адрес

Этот метод используется для перенаправления на новый URL:

const redirect = url => location.href = url

redirect("https://www.google.com/")

10. Откройте окно печати браузера

Этот метод используется для открытия окна печати браузера:

const showPrintDialog = () => window.print()

7. Прочие операции

1. Случайное логическое значение

Этот метод может возвращать случайное логическое значение. Используйте Math.random(), чтобы получить случайное число от 0 до 1. По сравнению с 0,5 существует половинная вероятность получения истинного или ложного значения.

const randomBoolean = () => Math.random() >= 0.5;

randomBoolean();

2. Переменный обмен

Значения двух переменных можно поменять местами без третьей переменной, используя следующую форму:

[foo, bar] = [bar, foo];

3. Получить тип переменной

Этот метод используется для получения типа переменной:

const trueTypeOf = (obj) => Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();

trueTypeOf('');     // string
trueTypeOf(0);      // number
trueTypeOf();       // undefined
trueTypeOf(null);   // null
trueTypeOf({});     // object
trueTypeOf([]);     // array
trueTypeOf(0);      // number
trueTypeOf(() => {});  // function

4. Преобразование между Фаренгейтами и Цельсия

Этот метод используется для преобразования между градусами Цельсия и Фаренгейта:

const celsiusToFahrenheit = (celsius) => celsius * 9/5 + 32;
const fahrenheitToCelsius = (fahrenheit) => (fahrenheit - 32) * 5/9;

celsiusToFahrenheit(15);    // 59
celsiusToFahrenheit(0);     // 32
celsiusToFahrenheit(-20);   // -4
fahrenheitToCelsius(59);    // 15
fahrenheitToCelsius(32);    // 0

5. Обнаружить, пуст объект

Этот метод используется для проверки того, является ли объект JavaScript пустым:

const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object;

Вот и все на сегодняшнюю статью, если вы нашли ее полезной, поставьте лайк!

三连 .gif