カテゴリ: JavaScript 更新日: 2025/09/05

JavaScriptの便利なオブジェクト操作テクニック集|初心者でもわかる基本と応用

JavaScriptの便利なオブジェクト操作テクニック集
JavaScriptの便利なオブジェクト操作テクニック集

先生と生徒の会話形式で理解しよう

生徒

「JavaScriptのオブジェクトって難しそうですが、便利に使うコツってありますか?」

先生

「もちろんです!オブジェクトはプログラミングでとても大切なデータのかたまりで、いくつかの便利なテクニックを知っておくと使いやすくなりますよ。」

生徒

「ぜひ教えてください!初心者でもわかるようにお願いします。」

先生

「わかりました!基本から順に便利なオブジェクト操作のテクニックを解説しますね。」

1. オブジェクトの基本的な操作とは?

1. オブジェクトの基本的な操作とは?
1. オブジェクトの基本的な操作とは?

JavaScriptのオブジェクトは「名前(キー)」と「値」のセットでデータを管理します。例えば、人物の情報をオブジェクトで表すと次のようになります。


const person = {
  name: "太郎",
  age: 25,
  city: "東京"
};

このように、nameageは「プロパティ」と呼ばれます。

2. プロパティの追加・更新・削除のテクニック

2. プロパティの追加・更新・削除のテクニック
2. プロパティの追加・更新・削除のテクニック

オブジェクトに新しいプロパティを追加したり、値を変えたり、不要なプロパティを削除したりできます。

  • 追加・更新:object.key = value; または object["key"] = value;
  • 削除:delete object.key;

// 追加
person.job = "エンジニア";

// 更新
person.age = 26;

// 削除
delete person.city;

このように簡単にオブジェクトの内容を変えられます。

3. オブジェクトの中身を確認する方法

3. オブジェクトの中身を確認する方法
3. オブジェクトの中身を確認する方法

オブジェクトのすべてのキーや値を知りたいときに便利なメソッドがあります。

  • Object.keys(object):すべてのキーの配列を返す
  • Object.values(object):すべての値の配列を返す
  • Object.entries(object):キーと値のペアの配列を返す

console.log(Object.keys(person));   // ["name", "age", "job"]
console.log(Object.values(person)); // ["太郎", 26, "エンジニア"]
console.log(Object.entries(person)); 
// [["name", "太郎"], ["age", 26], ["job", "エンジニア"]]

これらを使うと、オブジェクトの内容を簡単に調べられます。

4. オブジェクトのコピー(浅いコピー)

4. オブジェクトのコピー(浅いコピー)
4. オブジェクトのコピー(浅いコピー)

オブジェクトを別の変数にコピーしたいときに便利な方法があります。ただし、これは「浅いコピー」といって、オブジェクト内に別のオブジェクトがある場合は注意が必要です。


const copyPerson = Object.assign({}, person);

また、ES6以降はスプレッド構文でも同じことができます。


const copyPerson2 = {...person};

これで元のオブジェクトを壊さずに操作が可能です。

5. オブジェクトのプロパティをループで処理する

5. オブジェクトのプロパティをループで処理する
5. オブジェクトのプロパティをループで処理する

オブジェクトのすべてのプロパティを一つずつ処理したいときは、for...inループを使います。


for (let key in person) {
  console.log(key + " : " + person[key]);
}

これで「name : 太郎」など順番に表示できます。

6. オブジェクトの値を簡単に比較する方法

6. オブジェクトの値を簡単に比較する方法
6. オブジェクトの値を簡単に比較する方法

オブジェクト同士を比較するのは難しいですが、キーと値の配列に変換して比較すると便利です。


function isEqual(obj1, obj2) {
  return JSON.stringify(obj1) === JSON.stringify(obj2);
}

console.log(isEqual({a:1}, {a:1})); // true
console.log(isEqual({a:1}, {a:2})); // false

JSON.stringifyはオブジェクトを文字列に変換するメソッドです。

7. オブジェクトを配列に変換する便利な方法

7. オブジェクトを配列に変換する便利な方法
7. オブジェクトを配列に変換する便利な方法

データを扱いやすくするためにオブジェクトを配列に変換することがあります。Object.entries()を使うとキーと値のペアが配列になります。


const entries = Object.entries(person);
console.log(entries);
// [["name", "太郎"], ["age", 26], ["job", "エンジニア"]]

これを活用して配列の便利なメソッドを使いやすくなります。

8. オブジェクトのマージ(結合)方法

8. オブジェクトのマージ(結合)方法
8. オブジェクトのマージ(結合)方法

複数のオブジェクトを一つにまとめたいときは、Object.assign()やスプレッド構文を使います。


const obj1 = {a: 1, b: 2};
const obj2 = {b: 3, c: 4};

// Object.assign
const merged1 = Object.assign({}, obj1, obj2);

// スプレッド構文
const merged2 = {...obj1, ...obj2};

console.log(merged1); // {a:1, b:3, c:4}
console.log(merged2); // {a:1, b:3, c:4}

同じキーは後ろのオブジェクトの値で上書きされます。

9. オブジェクトの安全なアクセス(Optional Chaining)

9. オブジェクトの安全なアクセス(Optional Chaining)
9. オブジェクトの安全なアクセス(Optional Chaining)

オブジェクトの中のさらに深いプロパティにアクセスするとき、存在しない場合にエラーになることがあります。?.という「オプショナルチェイニング」を使うと安全にアクセスできます。


const user = {
  profile: {
    name: "花子"
  }
};

console.log(user.profile?.name);  // 花子
console.log(user.address?.city);  // undefined(エラーにならない)

このように存在しない場合は自動でundefinedになります。

10. オブジェクトの値を簡単に並べ替える方法

10. オブジェクトの値を簡単に並べ替える方法
10. オブジェクトの値を簡単に並べ替える方法

オブジェクトの内容を並べ替えたいときは、一旦Object.entries()で配列に変換し、配列の並べ替えを使います。


const sortedEntries = Object.entries(person).sort((a, b) => {
  return a[0].localeCompare(b[0]); // キー名で昇順にソート
});
console.log(sortedEntries);

必要に応じてまたオブジェクトに戻すこともできます。

関連記事:
カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptの正規表現で繰り返し指定(* + ? {n,m})を学ぼう
New2
TypeScript
TypeScriptとESNextの連携を完全ガイド!最新機能を使いこなす設定と対応法
New3
JavaScript
JavaScriptの正規表現で任意の1文字(.)や文字クラスを使う方法
New4
TypeScript
TypeScriptで非同期イテレーター(for await of)を活用する
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptの日時操作Tips!実務で役立つテクニック集
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.4
Java&Spring記事人気No4
TypeScript
TypeScriptのif文の使い方を完全ガイド!初心者でもわかる条件分岐
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptでESLintとPrettierを導入!コード整形ルールを自動で統一する方法
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptの配列の要素にアクセスする方法(インデックス番号の使い方)
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの正規表現で文字列を置換する方法(replaceメソッド)