JavaScript でオブジェクトの長さを取得する

Kirill Ibrahim 2023年10月12日
  1. JavaScript で Object.keys() メソッドを使用してオブジェクトの長さを取得する
  2. for... ループを使って JavaScript でオブジェクトの長さを取得する
JavaScript でオブジェクトの長さを取得する

JavaScript でオブジェクトの長さを取得したいのですが、Object には length プロパティがありません。配列と文字列だけが length プロパティを持っています。

let object1 = {name: 'Mark', age: 30};
let string1 = 'Delftstack';
let array1 = [1, 2, 3];
console.log(object1.length);
console.log(string1.length);
console.log(array1.length);

出力:

undefined
10 
3

JavaScript でオブジェクトの長さを取得する方法を紹介します。

JavaScript で Object.keys() メソッドを使用してオブジェクトの長さを取得する

メソッドは Object のプロパティの配列を返します。キーの数を得るには length プロパティを用います。

例:

const getLengthOfObject =
    (obj) => {
      let lengthOfObject = Object.keys(obj).length;
      console.log(lengthOfObject);
    }

getLengthOfObject({id: 1, name: 'Mark', age: 30});

出力:

3

for... ループを使って JavaScript でオブジェクトの長さを取得する

オブジェクトのプロパティを繰り返し、ループ内のプロパティのカウンタを増やします。

例:

const getLengthOfObject =
    (obj) => {
      let length0fObject = 0;

      for (let key in obj) {
        length0fObject++;
      }

      console.log(length0fObject);
      return length0fObject;
    }

getLengthOfObject({id: 1, name: 'Mark', age: 30});

出力:

3

例:

const getLengthOfObject =
    (obj) => {
      let length0fObject = 0;

      for (let key in obj) {
        if (obj.hasOwnProperty(key)) {
          length0fObject++;
        }
      }

      console.log(length0fObject);
      return length0fObject;
    }

getLengthOfObject(
    {id: 1, name: 'Mark', age: 30, country: 'USA', job: 'software developer'});

関数 hasOwnProperty() は JavaScript に組み込まれた関数で、オブジェクトが指定されたプロパティを所有しているかどうかを調べるために利用されます。オブジェクトに指定されたプロパティがあるかどうかに応じて、true または false を返します。

関連記事 - JavaScript Object