javascript 配列の指定した位置を入れ替える

javascript 配列の指定した位置を入れ替える

javascriptで、配列の指定した位置を入れ替えるサンプルコードを記述してます。入れ替えたい位置を指定することで入れ替えることが可能です。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 107.0.5304.107

配列の指定した位置を入れ替え

配列の指定した位置を入れ替えするには、
1. 入れ替えたい位置を指定して値を挿入
で可能です。

let arr = ["c", "b", "a", "d", "e"];
  
[arr[0], arr[2]] = [arr[2], arr[0]];
  
console.log(arr); // ['a', 'b', 'c', 'd', 'e']

サンプルコード

以下は、
「実行」ボタンをクリックすると、用意した5個のランダムな配列の「1番目」と「5番目」を入れ替えた結果を示する
サンプルコードとなります。

※cssには「bootstrap material」を使用してます。関数はアロー関数で記述してます。

<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <title>mebeeサンプル</title>
  <!-- MDB -->
  <link href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.2.0/mdb.min.css" rel="stylesheet" />
</head>

<body>
  <div class="container text-center w-25" style="margin-top:150px">

    <h2><span class="badge badge-success">元の配列</span></h2>
    <ul id="txt1" class="list-group"></ul>
    <h2><span class="badge badge-success">実行結果</span></h2>
    <ul id="txt2" class="list-group"></ul>

    <button id="btn" type="button" class="btn btn-raised btn-success">
      実行
    </button>

  </div>

  <script>

    const toObj = () => {

      // ランダムな2個の整数1桁の配列を生成
      const arr = Array(5).fill().map(x => ~~(Math.random() * 10));

      // 表示
      disp(arr, "txt1");

      // 1番目と5番目の位置を変更する
      [arr[0], arr[4]] = [arr[4], arr[0]];

      // 表示
      disp(arr, "txt2");

    }

    //フロントに表示する関数
    const disp = (arr, id) => {

      let text = [];

      // for ofを使用
      for (let item of arr) {
        text.push('<li class="list-group-item">' + JSON.stringify(item) + '</li>');
      }

      //innerHTMLを使用して表示    
      document.getElementById(id).innerHTML = text.join('');

    }

    // クリックイベントを登録
    btn.onclick = () => {
      toObj();
    };

  </script>
</body>

</html>

入れ替えされていることが確認できます。