JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで文字列の配列をキー/値ペアのオブジェクトに変換する方法

まず、次のような文字列の配列があるとします。

const arr = [ 'type=A', 'day=45' ];

ここで求められているのは、このような配列を引数として受け取り、その内容をもとにオブジェクトを構築するJavaScript関数を作成することです。生成されるオブジェクトには、配列内の各文字列に対応するキーと値のペアが含まれている必要があります。

各文字列に対しては、「=」よりも前の部分がキーになり、「=」よりも後の部分が値として扱われます。

コード例

const arr = [ 'type=A', 'day=45' ];
const arrayToObject = (arr = []) => {
    const obj = {};
    for (let i = 0; i < arr.length; i++) {
        let currentItem = arr[i].split('=');
        let key = currentItem[0];
        let value = currentItem[1];
        obj[key] = value;
    };
    return obj;
};
console.log(arrayToObject(arr));

出力

コンソールには次のように表示されます。

{ type: 'A', day: '45' }

処理の流れを解説

この関数は、以下のステップで動作しています。

  1. 空のオブジェクト obj を用意します。
  2. for ループで配列の各要素(文字列)を順番に取り出します。
  3. split('=') を使って文字列を「=」の位置で分割し、キーと値に分けます。
  4. 分割した結果を、それぞれオブジェクトのキーと値として代入します。

なお、同じ処理は reduce() メソッドや分割代入を使うことで、より簡潔に記述することもできます。

const arrayToObject = (arr = []) =>
  arr.reduce((obj, item) => {
    const [key, value] = item.split('=');
    obj[key] = value;
    return obj;
  }, {});
console.log(arrayToObject(arr));
// 出力: { type: 'A', day: '45' }

どちらの方法でも結果は同じですが、要素数が多い場合や処理をチェーンしたい場合には reduce() を使った書き方が便利です。用途に応じて使い分けるとよいでしょう。

  1. JavaScriptの基本配列メソッド解説!push・pop・shift・unshift・spliceの使い方を実例付きで紹介

    JavaScriptには、配列を操作するための便利な組み込みメソッドが数多く用意されています。その中でも特によく使われるのが、要素の追加や削除を行う以下の5つの基本メソッドです。 JavaScriptの主要な配列メソッド一覧 メソッド説明 Array.push()配列の末尾に要素を追加します。 Array.pop()配列の末尾から要素を取り除きます。 Array.unshift()配列の先頭に要素を追加します。 Array.shift()配列の先頭から要素を取り除きます。 Array.splice()配列内の任意の位置で要素の追加・削除を行います。 これらのメソッドは、配列の

  2. JavaScriptでオブジェクトを新しい配列に変換する方法

    JavaScriptでは、オブジェクトのプロパティやネストされたデータを取り出し、扱いやすい形で新しい配列にフォーマットできます。本記事では、学校(school)オブジェクトに含まれる生徒情報を、文字列形式の配列へ変換する実践的なコード例を紹介します。 ポイントとなるテクニック このサンプルでは、以下の2つのJavaScript機能を活用しています。 分割代入(Destructuring assignment):オブジェクトから特定のプロパティを簡潔に取り出す構文です。 for...of ループ:配列内の各要素を順番に処理するために使用します。 コード例 <!DOCTYPE html