1. ホーム
  2. javascript

[解決済み] Jsonオブジェクトのアイテム数の合計を取得する?重複

2022-10-28 05:09:19

質問

重複の可能性があります。

Javascriptオブジェクト(連想配列)の長さ

これと似たようなオブジェクトがあります。

var jsonArray = {
  '-1': {
    '-1': 'b',
    '2': 'a',
    '10': 'c'
  },
  '2': {
    '-1': 'a',
    '2': 'b',
    '10': 'a'
  },
  '5': {
    '-1': 'a',
    '2': 'a',
    '10': 'b'
  }
};

長さを取得しようとしているのですが、問題なのは jsonArray.length が 3 ではなく 5 を返すことです (これは持っているアイテムの合計です)。配列は比較的長く(1000x2000アイテム)、これは毎秒何回も実行する必要があります。どうすればもっと効率的に項目数を得ることができるのでしょうか?

どのように解決するのですか?

kieranさんの回答に加え、どうやら最近のブラウザでは Object.keys 関数があります。この場合、こうすればいい。

Object.keys(jsonArray).length;

詳細は、この javascriptオブジェクトのプロパティをリストアップする方法