Open2

【JS】アルゴリズムでよく使うメソッド & 記法 & 演算子

Kohki_TakatamaKohki_Takatama

はじめに

アルゴリズム問題って、果てがないよね・・・」を、

ちょっとだけ解決できたらいいな、という記事です。

言語は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句が不要

以下、下書き状態です。

気が向いたら書きます。

「このメソッド・記法知らない!」があれば、調べてみると有益だと思います。

正規表現

スプレッド構文

再帰

Kohki_TakatamaKohki_Takatama

メソッド

アルゴリズムを解くために必須のやつら
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的な意味で)が基本だと言っていいかも

そのほかのテクニック

物理的に例示すること
他の人の解答を見ること