18 полезных фрагментов JavaScript

JavaScript

18 полезных фрагментов JavaScript

Оригинальный адрес:medium.com/JavaScript-…
Оригинальный автор: Эми Дж. Эндрюс

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

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

1. maxItemOfArray

Получить наибольшее число в массиве

const maxItemOfArray = (arr) => arr.sort((a, b) => b - a)[0];
let maxItem = maxItemOfArray([3, 5, 12, 5]);

2. areAllEqual

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

const areAllEqual = array => array.every(item => item === array[0]);
let check1 = areAllEqual([3, 5, 2]); // false
let check2 = allEqual([3, 3, 3]); // true

3. averageOf

Найдите среднее значение заданного числа

const averageOf = (…numbers) => numbers.reduce((a, b) => a + b, 0) / numbers.length;
let average = averageOf(5, 2, 4, 7); // 4.5

4. reverseString

перевернуть строку

const reverseString = str => […str].reverse().join(‘’);
let a = reverseString(‘Have a nice day!’); // !yad ecin a evaH

5. sumOf

найти сумму данных чисел

const sumOf = (…numbers) => numbers.reduce((a, b) => a + b, 0);
let sum = sumOf(5, -3, 2, 1); // 5

6. findAndReplace

Найти заданное слово в строке и заменить другим словом

const findAndReplace = (string, wordToFind, wordToReplace) => string.split(wordToFind).join(wordToReplace);

let result = findAndReplace(‘I like banana’, ‘banana’, ‘apple’); // I like apple

7. RGBToHex

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

const RGBToHex = (r, g, b) => ((r << 16) + (g << 8) + b).toString(16).padStart(6, ‘0’);
let hex = RGBToHex(255, 255, 255); // ffffff

8. shuffle

Как музыкальный проигрыватель воспроизводит элементы в случайном порядке?

const shuffle = ([…array]) => {
  let m = array.length;
  
  while (m) {
    const i = Math.floor(Math.random() * m — );
    [array[m], array[i]] = [array[i], array[m]];
  }
  return array;
};
shuffle([5, 4, 3, 6, 20]);

9. removeFalseValues

Удалить ложные значения из массива, в том числе ложные, неопределенные, NaN, пустые

const removeFalseValues = arr => arr.filter(item => item);
let arr = removeFalseValues([3, 4, false, ‘’, 5, true, undefined, NaN, ‘’]); // [3, 4, 5, true]

10. removeDuplicatedValues

Удалить повторяющиеся элементы из массива

const removeDuplicatedValues = array => […new Set(array)];
let arr = removeDuplicatedValues([5, 3, 2, 5, 6, 1, 1, 6]); // [5, 3, 2, 6, 1]

11. getTimeFromDate

Возвращает время в виде строки объекта даты

const getTimeFromDate = date => date.toTimeString().slice(0, 8);
let time = getTimeFromDate(new Date()); // 09:46:08

12. capitalizeAllWords

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

const capitalizeAllWords = str => str.replace(/\b[a-z]/g, char => char.toUpperCase());
let str = capitalizeAllWords(‘i love reading book’); // I Love Reading Book

13. getDayDiff

Возвращает разницу в днях между двумя датами

const getDayDiff = (date1, date2) => ((date2 - date1) / (1000 * 3600 * 24));
let diff = getDayDiff(new Date('2020-04-01'), new Date('2020-08-15')); // 136

14. radianToDegree

Перевести радианы в градусы

const radianToDegree = radian => (radian * 180.0) / Math.PI;
let degree = radianToDegree(2.3); // 131.78

15. isValidJSON

Проверьте, является ли данная строка допустимой JSON

const isValidJSON = string => {
  try {
    JSON.parse(string);
    return true;
  } catch (error) {
    return false;
  }
};
let check1 = isValidJSON(‘{“title”: “javascript”, “price”: 14}’); // true
let check2 = isValidJSON(‘{“title”: “javascript”, “price”: 14, subtitle}’); // false

16. toWords

Преобразовать данную строку в массив слов

const toWords = (string, pattern = /[^a-zA-Z-]+/) => string.split(pattern).filter(item => item);
let words = toWords(‘I want to be come a great programmer’); // [“I”, “want”, “to”, “be”, “come”, “a”, “great”, “programmer”]

17. scrollToTop

внизу длинной страницы и хотите быстро прокрутить вверх

const scrollToTop = () => {
  const t = document.documentElement.scrollTop || document.body.scrollTop;
  if (t > 0) {
    window.requestAnimationFrame(scrollToTop);
    window.scrollTo(0, t — t / 8);
  }
};

18. isValidNumber

Убедитесь, что номер действителен

const isValidNumber = n => !isNaN(parseFloat(n)) && isFinite(n) && Number(n) === n;
let check1 = isValidNumber(10); // true
let check2 = isValidNumber(‘a’); // false

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