[Javascript] 配列操作小ネタ集 最大、最小、平均、合計、分散、標準偏差、重複削除、割り込みなど
はじめに
Javascriptには便利な配列用のメソッドがたくさんありますが、いざ、イメージ通りの処理を行おうとすると、自分で実装しなくてはならないことが多いです。よく使いそうなものからニッチなものまでいくつかのロジックサンプルを紹介します。前提として、共通の引数として使用する一次元配列は以下とします。
const array01 = [1,6,2,5,8,7,3,4,9,2,6,8,1,3,5];
const array02 = [10,15,20,5,35,25,30];なお、二次元配列やその他多次元配列の場合、別途処理内容が異なりますので、今回は考慮していません。■比較的よく使いそうな処理1. 配列の要素をランダムに並べる
Array.reduceを使っている例も見受けられますが、無駄な配列を生成しない分、Array.forEachを使うほうがシンプルかと思います。実際の処理内容も、先頭から順次、Math.randomによって生成されたインデックス番号の要素と入替えているだけです。const arrayRandom = arr => { arr.forEach((_, i) => {
const j = Math.floor(Math.random() * (i + 1));
[arr[i], arr[j]] = [arr[j], arr[i]];
});
return arr;
};console.log(arrayRandom(array01));// 出力例 [6,8,9,8,4,3,1,5,2,6,
0