
JSエクササイズのソリューションと説明。
これはチートシートではありません!
FreeCodecampとEdabitでJavaScriptアルゴリズムを解決しながら、この編集を行いました。これは、Web開発のパラダイムで立ち上がって実行しようとしている人々にとって有益なガイドになると思いました。
配列内の最小値を表示する関数を作成します。
例:
> 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参照:
再帰
ifおよびelseステートメント
解決:
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
typeof
解決:
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の文字で終了するかどうかを確認する関数を作成します
ルール:
引数として2つの文字列を取ります
2番目の文字列が最初の文字列の終了に一致するかどうかを判断します
ブール値を返します
例:
> console . log ( checkEnding ( "samurai" , "zi" ) ) ;
> false参照:
string.prototype.endswith()メソッドは、文字列が指定された文字列の文字で終わるかどうかを決定し、必要に応じてtrueまたはfalseを返します。
array.prototype.joinメソッドは、配列(または配列のようなオブジェクト)のすべての要素を文字列に結合し、この文字列を返します。
解決:
function checkEnding ( str1 , str2 ) {
return str1 . endsWith ( str2 ) ;
} 各文字列文字を2回繰り返す関数を作成します
例:
> 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()メソッドを呼び出します。このメソッドを適用すると、配列が再び文字列に戻りますが、今回は新しい複製された値を使用して変換します
特定の配列から要素のインデックスの場所を返します。最初の引数は、検索したい配列であり、2番目の引数は探している要素(文字列/番号のいずれか)です。
例:
> console . log ( findIndex ( [ 'github' , 'gitlab' , 'bitbucket' , 'apollo' ] , 'gitlab' ) ) ;
> 1参照:
解決:
function findIndex ( arr , element ) {
return arr . indexOf ( element ) ;
}説明: findIndex関数は2つの引数を取ります。最初に監視する配列は、次に最後が配列の要素を配置する必要がある要素です。 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 ... statementステートメントは、テスト条件がfalsに評価されるまで指定されたステートメントを実行するループを作成します。条件はステートメントを実行した後に評価され、指定されたステートメントが少なくとも1回実行されます。
解決:
// Setup
> var myArray = [ ] ;
> var i = 10 ;
> // Only change code below this line.
> do {
myArray . push ( i ) ;
i ++ ;
console . log ( i )
} while ( i < 11 ) 私たちはコードティッキをしています!
お気軽に問題を送信したり、リクエストをプルしたりしてください