【JavaScript】配列の要素全てがある条件を満たしているか調べたい


はじめに

競技プログラミングをやっていると、配列の各要素をゴニョゴニョして、最終的にある条件を全て満たしているか調べたい場面が多くあるようです。
例えば、パリティを使った問題とか。

この問題をJavaScriptで解く場合、使えるのがeveryです。

everyの使い方

例をあげた方が早いですね。

const nums = [[1,3], [4,4], [3,9], [8,4]]

const inValid = nums.every(ns => {
    const a = ns[0]
    const b = ns[1]

    return ((a + b) % 2 === 0)
})

if (inValid) {
    console.log('All Even')
} else {
    console.log('Odd numbers are included')
}

// => All Even

二次元配列内の各要素をそれぞれ取り出し、足し合わせた数が奇数か偶数か計算して、全ての合計が偶数であれば「All Even」と出力します。

numsを const nums = [[1,3], [4,4], [3,9], [8,3]] とすると、出力は「Odd numbers are included」 となります。

おしまい

この手の問題は結構頻出なようです。
Web開発で使うかと言われれば微妙ですが、JavaScriptを使う上では知っておいて損はないように思います。