JavaScript без вопроса один из самых популярных языков программирования в веб -разработке. Взгляните на следующие фрагменты кода, которые элегантно решают подобные проблемы, и используйте эти знания в повседневных проектных ситуациях или для подготовки к любым предстоящим интервью по кодированию.
1. Отмените строку
В этом примере мы используем оператор спреда (…), метод обратного из массива и метод соединения от строки, чтобы отменить заданную строку.
const reverseString = string => [...string].reverse().join('');
//Examples
reverseString('devto'); //otved
reverseString('AdityaSharan'); //narahSaytidA
2. Рассчитайте факториал числа
Чтобы рассчитать факторию данного числа, мы можем использовать функцию стрелы и вложенные тройные операторы.
const factorialOfNumber= number =>
number < 0 ?
( () =>
{
throw new TypeError('No negative numbers please');
}
)()
: number <= 1
? 1
:number * factorialOfNumber(number -1);
//Examples
factorialOfNumber(4); //24
factorialOfNumber(8); //40320
3. Преобразовать число в множество цифр
В этом примере мы используем оператор спреда (…), метод массива карты и функцию Parseint для преобразования заданного числа в массив однозначных цифр.
const convertToArrays = number => [...`${number}`].map(ele =>
parseInt(ele));
//Examples
convertToArrays(5678); //[5,6,7,8]
convertToArrays(123456789); //[1,2,3,4,5,6,7,8,9]
4. Проверьте, является ли число мощностью двух
Этот довольно просто. Мы проверяем, что число не является фальсификацией, и используем бить и оператор (&), чтобы определить, является ли число мощностью двух.
const isNumberPowerOfTwo = number => !!number && (number & ( number -1)) == 0 ; //Examples isNumberPowerOfTwo(100); //false isNumberPowerOfTwo(128); //true
5. Создайте массив пар клавишных значений из объекта
В этом примере мы используем метод Keys от Object и метод MAP от массива для карты за ключи объекта и создаем массив пар клавишных значений.
const keyValuePairsToArray = object => Object.keys(object)
.map(ele => [ele,object[el]]);
//Examples
keyValuePairsToArray({Java :4 ,Script : 2});
// [ ['Java', 4] , ['Script',2] ]
keyValuePairsToArray( {x:1, y:5, z:8} );
// [ ['x',1], ['y',5], ['z',3] ]
6. Вернуть [номер] максимальные элементы из массива
Чтобы вернуть максимальные элементы из массива, мы используем функцию стрелки, которая берет наш массив и количество элементов, которые мы хотим, чтобы функция вернулась. Мы используем оператор спреда (…) и методы сортировки и среза от массива. Обратите внимание, что если мы не даем второй аргумент, число получает значение по умолчанию 1, поэтому возвращается только один максимальный элемент.
const maxElementsFromArray = (array,number =1) =>[...array] .sort((x,y) => y-x).slice(0,number); //Example maxElementsFromArray([1,2,3,4,5,6,7]); //[7]
7. Проверьте, равны ли все элементы в массиве
В этом примере мы проверяем, все ли элементы в массиве с помощью каждого метода из массива. Мы в основном проверяем, равен ли каждый элемент первым элементом в массиве.
const elementsAreEqual = array => array.every( ele => ele=== array[0]); //Examples elementsAreEqual([9,8,7,6,5,4]); // false elementsAreEqual([2,2,2,2,2,2,2]); // true
8. Вернуть среднее значение двух чисел
В этом примере мы используем оператор спреда (…) и метод уменьшения от массива, чтобы вернуть среднее из двух заданных чисел или массива.
const averageOfTwoNumbers = (...numbers) => numbers.reduce((accumulator, currentValue) => accumulator+currentValue,0) /numbers.length //Examples averageOfTwoNumbers (...[6,7,8]); // 7
9. Вернуть сумму двух или более чисел
Чтобы вернуть сумму из двух или более данных или массива, мы снова используем оператор спреда (…) и метод уменьшения из массива.
const sumOfNumbers = (...array) => [...array].reduce((accumulator,currentValue) => accumulator + currentValue, 0); //Examples sumOfNumbers(5,6,7,8,9,10); //45
10. Вернуть Powerset множества чисел
В последнем примере мы хотим вернуть Powerset множества чисел. Поэтому мы используем методы уменьшения, карты и CONCAT от массива.
const powersetOfArray = array => array.reduce((accumulator,currentValue) => accumulator.concat(accumulator.map(ele => [currentValue].concat(el))),[ [] ] ); //ExAMPLES powersetOfArray([4,2]); // [[],[4],[2],[2,4]]
Как видите, не всегда трудно решить эти задачи с помощью JavaScript и некоторой магии ES6. Спасибо за чтение! Не забудьте понравиться этот пост и дайте мне знать, если вы знаете несколько хороших фрагментов кода, которые можно добавить в список, чтобы даже я мог извлечь уроки из этого.
Оригинал: “https://dev.to/adityasharan01/10-daily-useful-js-code-snippets-99m”