
Решения и объяснение упражнений JS.
Это не шпаргалка!
Я сделал это компиляцию при решении алгоритмов JavaScript в Freecodecamp и Edabit. Я думал, что это должно быть полезным руководством для людей, пытающихся встать и работать в парадигме веб -разработки.
Создайте функцию, которая отобразит наименьшее значение в массиве.
Пример:
> console . log ( findSmallest ( [ 30 , 45 , 60 , 7 ] ) ) ;
> 1Ссылка:
Решение:
function findSmallest ( arr ) {
return Math . min ( ... arr ) ;
} Функция, которая вернет вашу строку в алфавитном порядке
Пример:
> console . log ( AlphabeticalOrder ( 'hello' ) ) ;
> "ehllo"Ссылка:
Array.split
Array.join
Решение:
function AlphabeticalOrder ( str ) {
return str
. split ( "" )
. sort ( )
. join ( "" ) ;
} В математике фактор неотрицательного целого числа n, обозначенного N!, Продуктом всех положительных целых чисел, менее или равна n. Проще говоря, фактор 7 решается так:
7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 5,040
Пример:
> console . log ( factorializer ( 7 ) ) ;
> 5040Ссылка:
Рекурсия
Если и еще.
Решение:
function factorializer ( int ) {
if ( int <= 1 ) {
return 1 ;
} else {
return int * factorializer ( int - 1 ) ;
}
} Функция, которая дает вам знать, является ли число четным или нечетным
Пример:
> console . log ( oddOrEven ( 7 ) ) ;
> "Odd"Ссылка:
Решение:
function oddOrEven ( int ) {
let ouput = int % 2 ;
if ( output == 0 ) {
return "Even" ;
} else {
return "Odd" ;
}
} Удалите все нечетные номера в массиве и верните новый массив, который содержит только ровные числа
Пример:
> console . log ( evenOnly ( [ 1 , 2 , 3 , 4 , 5 , 6 ] ) ) ;
> [ 2 , 4 , 6 ]Ссылка:
Array.filter
Модуло
Решение:
function evenOnly ( arr ) {
let result = arr . filter ( arr => arr % 2 == 0 ) ;
return result ;
} Создайте функцию, которая примет массив, проверьте тип данных каждого элемента. Функция удалит строковые элементы и вернет новый массив
Пример:
> console . log ( numbersOnly ( [ 'text' , 3 , 7 , 'github' , 13 , 'dev' ] ) ) ;
> [ 3 , 7 , 13 ]Ссылка:
Array.filter
тип
Решение:
function numbersOnly ( arr ) {
return arr . filter ( arr => typeof arr == "number" ) ;
} Верните сумму числа, возвращающегося к его корню. Другими словами, функция будет работать так:
addup (5);
// 5 + 4 + 3 + 2 + 1 + 0 = 15
Пример:
> console . log ( addUp ( 8 ) ) ;
> 36Ссылка:
Рекурсия
1 + 2 + 3 + 4 + ⋯
Решение:
function addUp ( num ) {
if ( num <= 1 ) {
return num ;
} else {
return num + addUp ( num - 1 ) ;
}
} Создайте функцию, которая примет массив и сделает следующее:
Получите самый низкий элемент
Получите самый высокий элемент
Получить длину массива
Получить среднее значение всего элемента;
Хранить эти критерии в новом массиве
Пример:
> console . log ( minMaxLengthAverage ( [ 7 , 13 , 3 , 77 , 100 ] ) ) ;
> [ 3 , 100 , 5 , 40 ]Ссылка:
Math.min
Math.max
Array.reduce
Array.length
Решение:
function minMaxLengthAverage ( arr ) {
const min = Math . min ( ... arr ) ;
const max = Math . max ( ... arr ) ;
const len = arr . length ;
//Reducer for get Average function
const ave = arr => arr . reduce ( ( acc , curVal ) => acc + curVal , 0 ) / len ;
const average = ave ( arr ) ;
//Return output
return [ min , max , len , average ] ;
} Array.sort() сортирует струны в алфавитном порядке. Что если мы хотим сортировать числа от самых низких до самых высоких? Создает ли это правильный выход?
Пример: это то, что произойдет, если мы применим Array.sort() к числам:
> arr = [ 45 , 34 , 23 , 12 , 7 ]
> console . log ( arr . sort ( ) ) ;
> [ 12 , 23 , 34 , 45 , 7 ]Вывод не верен правильно?, А мы ожидаем, что это будет возвращаемое значение:
> console . log ( sortNumsAscending ( [ 7 , 13 , 3 , 77 , 100 ] ) ) ;
> [ 3 , 5 , 40 , 100 ]Ссылка:
Сортировка в JavaScript
Array.sort ()
Решение:
function sortNumsAscending ( arr ) {
let sorter = ( a , b ) => {
return a - b ;
} ;
if ( arr == [ ] ) {
return [ ] ;
} else if ( arr == null ) {
return [ ] ;
} else {
return arr . sort ( sorter ) ;
}
} Преобразовать заданное число в римскую цифру
Пример:
> romanNumbers ( 1989 ) ;
> MCMLXXXIXСсылка:
Римские цифры
Array.join ()
Array.indexof ()
Array.splice ()
Решение:
function romanNumbers ( num ) {
let values = [ 1000 , 900 , 500 , 400 , 100 , 90 , 50 , 40 , 10 , 9 , 5 , 4 , 1 ] ;
let romanNumerals = [
"M" ,
"CM" ,
"D" ,
"CD" ,
"C" ,
"XC" ,
"L" ,
"XL" ,
"X" ,
"IX" ,
"V" ,
"IV" ,
"I"
] ;
let roman = "" ;
for ( i = 0 ; i < values . length ; i ++ ) {
while ( values [ i ] <= num ) {
roman += romanNumerals [ i ] ;
num -= values [ i ] ;
}
}
return roman ;
}
console . log ( romanNumbers ( 1989 ) ) ; Вернуть абсолютную сумму всех элементов массива
Пример:
> getAbsSum ( [ - 1 , - 3 , - 5 , - 4 , - 10 , 0 ] ) ;
> 23Ссылка:
Array.Prototype.Reduce
Math.abs
Решение:
function getAbsSum ( arr ) {
const reducer = ( acc , currVal ) => {
return acc + currVal ;
} ;
return Math . abs ( arr . reduce ( reducer ) ) ;
} Сформировать треугольник, используя хэш -теги
Пример:
> #
> ##
> ###
> ####
> #####
> ######
> #######Ссылка:
Решение:
for ( x = "#" ; x . length <= 7 ; x += x ) {
console . log ( x ) ;
} Вернуть сколько слов было дано
Пример:
> countWords ( 'hello from kbpsystem!' ) ;
> 3Ссылка:
String.prototype.split
Array.length
Решение:
function countWords ( str ) {
return str . split ( " " ) . length ;
} Умножьте все элементы в массиве на его длину
Пример:
> MultiplyByLength ( [ 4 , 1 , 1 ] ) ;
> [ 12 , 3 , 3 ]Ссылка:
для
Array.length
Array.prototype.push
Array.prototype.map
Решение:
function MultiplyByLength ( arr ) {
let len = arr . length ;
for ( i = 0 ; i < len ; i ++ ) {
arr [ i ] = arr [ i ] * len ;
}
return arr ;
} Создайте функцию, которая проверит, заканчивается ли STR1 символами в STR2
Правила:
Возьмите две строки в качестве аргумента
Определите, соответствует ли вторая строка окончание первой строки
Вернуть логическое значение
Пример:
> console . log ( checkEnding ( "samurai" , "zi" ) ) ;
> falseСсылка:
String.prototype.endswith () Метод определяет, заканчивается ли строка символами указанной строки, возвращая true или false в зависимости от необходимости.
Array.prototype.join Метод соединяет все элементы массива (или массивного объекта) в строку и возвращает эту строку.
Решение:
function checkEnding ( str1 , str2 ) {
return str1 . endsWith ( str2 ) ;
} Создайте функцию, которая будет повторять каждый строковый символ два раза
Пример:
> console . log ( doubleChar ( 'exercise' ) ) ;
> eexxeerrcciisseeСсылка:
Array.prototype.split Метод split() разделяет строковый объект на массив строк, разделяя строку на подстроки, используя указанную строку сепаратора, чтобы определить, где сделать каждое разделение.
Array.prototype.map Метод map() создает новый массив с результатами вызова предоставленной функции на каждом элементе в вызовом массива.
Array.prototype.join Этот метод соединяет все элементы массива (или массивоподобного объекта) в строку и возвращает эту строку.
Решение:
function doubleChar ( str ) {
let x = str . split ( "" ) ;
return x . map ( x => x . repeat ( 2 ) ) . join ( "" ) ;
} Объяснение: В приведенном выше решении сначала мы применяем метод разделения на аргумент строки, а затем храним его в переменной, называемой x . Затем мы используем функцию карты для выполнения процесса дублирования на каждом элементе строки, который рассматривался как массив в этом случае, потому что мы только что применили метод разделения на строку. После того, как процесс дублирования будет выполнен, мы называем метод join() . Применение этого метода преобразует массив обратно в то, чтобы снова стать строкой, но на этот раз с новыми дублированными значениями
Верните местоположение индекса элемента из данного массива. Первый аргумент - это массив, который вы хотели бы найти, а второй - это элемент (любая строка/номер), чтобы найти.
Пример:
> console . log ( findIndex ( [ 'github' , 'gitlab' , 'bitbucket' , 'apollo' ] , 'gitlab' ) ) ;
> 1Ссылка:
Решение:
function findIndex ( arr , element ) {
return arr . indexOf ( element ) ;
} Объяснение: Функция findIndex принимает два аргумента. Сначала - это массив, который будет контролироваться, а затем последний - это элемент на массиве, который необходимо найти. JavaScript имеет встроенный метод, называемый indexOf() , и мы использовали его, чтобы найти местоположение индекса определенного элемента в массиве. Этот метод проходит через массив, расположенный значения индекса элемента
Это упражнение предоставлено Freecodecamp
Это упражнение является реализацией DO, пока операция. Наша цель здесь состоит в том, чтобы продолжать запускать функцию/оператор, установить параматер и, как только результат параметра оценивается в false , выполнение функции/оператора остановится
Пример:
var result = "" ;
var i = 0 ;
do {
i = i + 1 ;
result = result + i ;
} while ( i < 5 ) ;
console . log ( result ) ;
// expected result: "12345"Ссылка:
Оператор DO ... в то время как оператор создает цикл, который выполняет указанный оператор, пока условие испытания не оценивается в FALSE. Условие оценивается после выполнения оператора, что приводит к выполнению указанного оператора хотя бы один раз.
Решение:
// Setup
> var myArray = [ ] ;
> var i = 10 ;
> // Only change code below this line.
> do {
myArray . push ( i ) ;
i ++ ;
console . log ( i )
} while ( i < 11 ) Мы на кодетерс!
Пожалуйста, не стесняйтесь отправлять проблему или привлечь запросы