Open2
【JS】アルゴリズムでよく使うメソッド & 記法 & 演算子
はじめに
「アルゴリズム問題って、果てがないよね・・・」を、
ちょっとだけ解決できたらいいな、という記事です。
言語はJavaScriptですが、他の言語でも同様のメソッドがあることが多いと思います。
以下、「JS」はJavaScriptを指します。
基礎
return
最も基本。これを忘れると何も返ってきません。
必ずreturn
と書きましょう!
// だめな例
function sum(a, b) {
a + b // a + bはしてるけど、returnがないから・・・
}
sum(1, 4) // 何も返ってこない(何も得られない)
console.log(sum(1, 4)) // undefined
三項演算子
まずは日本語で構文を書きます。
条件(真か偽) ? 真のときの処理 : 偽のときの処理
例えばこんな感じ
// 与えられた数値が、正の数か負の数かを判定する関数
function positiveOrNegative(number) {
return number >= 0 ? "正の数" : "負の数"
}
console.log(positiveOrNegative(-10)) // "負の数"
関数の書き方
以下の2例は、「ここは関数ですよ」と示しています。
異なる書き方で、当然違いもあります。
アルゴリズム問題を解くにあたっては「コードの長さ」
// 関数宣言
function func() {
// 処理内容
return // 返り値
}
// 関数式①
const func = () => {
// 処理内容
return // 返り値
}
//関数式②
const func = () => // 処理内容
// この場合だけ、return句が不要
以下、下書き状態です。
気が向いたら書きます。
「このメソッド・記法知らない!」があれば、調べてみると有益だと思います。
正規表現
スプレッド構文
再帰
メソッド
アルゴリズムを解くために必須のやつら
if
for
map
reduce
replace
split / join
length
filter
push / pop / slice
1.5軍
match / test
switch
for of / for in
2軍
toLowerCase
includes
Math.floor
Math.max
indexOf
こう見ると、Array, Number, String, Object(key-value的な意味で)が基本だと言っていいかも
そのほかのテクニック
物理的に例示すること
他の人の解答を見ること