速報

imgproxyのICO処理にコード実行のおそれ|4.0.16だけでは残る問題を確認

CATEGORY

【JavaScript】配列のランダム番目の要素を取得して削除する

※本ページのリンクにはプロモーションが含まれています。

【JavaScript】配列のランダム番目の要素を取得して削除する

目次

本記事では、JavaScriptで配列のランダム番目の要素を取得し、取得した要素を削除する方法をご紹介しています。

JavaScriptで配列の要素をランダムに取得して要素を削除したいんだけど、良い方法ないかな?

上記の疑問にお答えします。

では、解説していきます。

スポンサーリンク

配列のランダム番目の要素を取得する

配列からランダム番目にある要素を取得します。配列の長さの範囲内で乱数を生成し、要素を取得します。Mathオブジェクトで配列の長さの範囲内の整数を生成し、配列から要素を取得します。下記では取得したランダム番目の配列の要素をコンソールに出力しています。

JavaScript

//配列を生成する
const array = [123, 'abc', 45, 'd', 'efgh', 6789, 'あいう', 10, 'ijk', 'えお'];
//配列の長さのの範囲内で乱数を生成する
const random = Math.floor(Math.random() * array.length);
//randon番目の配列の要素を取得してログに出力する
console.log(random, array[random]);

実行結果

4, "efgh"

配列から特定の値の要素を削除する(新しい配列を生成する)

配列から特定の値の要素を削除します。実際には削除ではなく特定の値を持つ配列の要素以外の要素で新しい配列を作成します。新しい配列の作成にはfilterメソッドを使用します。filterメソッドは条件に指定したテストに合格した要素で新しい配列を作成する機能を持つメソッドです。

JavaScript

//配列を生成する
const array = [123, 'abc', 45, 'd', 'efgh', 6789, 'あいう', 10, 'ijk', 'えお'];
//4番目の値と等しい要素を除いた新しい配列を生成する
const newArray = array.filter(i => i !== array[4]);
//4番目の配列の要素と新しい配列をログに出力する
console.log(array[4], newArray);

実行結果

"efgh"
[123,"abc",45,"d",6789,"あいう",10,"ijk","えお"]

スポンサーリンク

配列のランダム番目の要素を取得して削除する

前項までの内容をあわせて配列のランダム番目の要素を取得し、取得した要素を削除します。乱数の生成にはMathオブジェクトを使用し、配列の削除(正確には新しい配列を生成する)にはfilterメソッドを使用します。実行結果に動作確認用のデモを用意しましたので、埋め込み右下のreturnをクリックして遊んでみてくださいね。

HTML

<div id="app">
    <p class="num">乱数:</p>
    <p class="old">旧配列:</p>
    <p class="new">新配列:</p>
</div>

JavaScript

//配列を生成する
const array = [123, 'abc', 45, 'd', 'efgh', 6789, 'あいう', 10, 'ijk', 'えお'];
//配列数の範囲で乱数を生成する
const random = Math.floor(Math.random() * array.length);
//random番目の値と等しい要素を削除して新しい配列を生成する
const newArray = array.filter(i => i !== array[random]);

//結果を要素に出力する
document.querySelector('.num').textContent += random;
document.querySelector('.old').textContent += '[' + array.join(', ') + ']';
document.querySelector('.new').textContent += '[' + newArray.join(', ') + ']';

実行結果

See the Pen 7584 by ryohei (@intotheprogram) on CodePen.

最後に

配列のメソッドは便利なものが多いので、ドキュメントを眺めるだけでも楽しいですよね。すべてのメソッドやプロパティを覚えるのは難しいですが、よく使うメソッドを頭に入れておくと効率的に配列操作ができるようになります。たまにはArrayに没頭する時間を作るのも良いかもしれませんね。

参考:https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array

以上、JavaScriptで配列のランダム番目の要素を取得して削除する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク