
JS 운동에 대한 해결책과 설명.
이것은 치트 시트가 아닙니다!
Freecodecamp 및 Edabit에서 JavaScript 알고리즘을 해결 하면서이 편집을했습니다. 나는 이것이 웹 개발 패러다임에서 일어나고 달리는 사람들에게 유용한 가이드라고 생각했다.
배열에서 가장 작은 값을 표시하는 함수를 만듭니다.
예:
> 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 ]참조:
배열. 필터
모듈로
해결책:
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 ]참조:
배열. 필터
타입
해결책:
function numbersOnly ( arr ) {
return arr . filter ( arr => typeof arr == "number" ) ;
} 뿌리로 돌아가는 숫자의 합을 뿌리로 반환하십시오. 다시 말해, 기능은 다음과 같이 작동합니다.
추가 (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.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 while 성명서의 구현입니다. 여기서 우리의 목표는 함수/명령문을 계속 실행하고 매개 변수를 설정하는 것입니다. 매개 변수의 결과가 false 로 평가 되 자마자 함수/명령문 실행이 중지됩니다.
예:
var result = "" ;
var i = 0 ;
do {
i = i + 1 ;
result = result + i ;
} while ( i < 5 ) ;
console . log ( result ) ;
// expected result: "12345"참조:
DO ... LET는 진술이 테스트 조건이 False로 평가 될 때까지 지정된 문을 실행하는 루프를 만듭니다. 명령문을 실행 한 후 조건이 평가되어 지정된 명령문이 한 번 이상 실행됩니다.
해결책:
// Setup
> var myArray = [ ] ;
> var i = 10 ;
> // Only change code below this line.
> do {
myArray . push ( i ) ;
i ++ ;
console . log ( i )
} while ( i < 11 ) 우리는 코드리지에 있습니다!
문제를 제출하거나 요청을 풀어주십시오.