[解決済み] javascriptオブジェクトの要素数
2022-07-23 11:12:28
質問
javascriptオブジェクトの要素数を(どこかから)取得する方法はありますか?(すなわち、一定時間の複雑さ)。
私はその情報を取得するプロパティまたはメソッドを見つけることができません。今のところ、私はコレクション全体を通して反復を行うことしか考えられませんが、それは線形時間です。
オブジェクトのサイズに直接アクセスできないのはおかしいと思いませんか?
EDITです。
私が言っているのは
Object
オブジェクトについてです(一般的なオブジェクトではありません)。
var obj = new Object ;
どのように解決するのですか?
JSの実装では、内部的にそのような値を記録しているかもしれませんが、それを取得する標準的な方法はありません。
過去には、Mozilla の Javascript バリアントは
非標準の
__count__
となっていましたが、バージョン1.8.5で削除されました。
クロスブラウザのスクリプティングでは、プロパティを明示的に反復してチェックし
hasOwnProperty()
:
function countProperties(obj) {
var count = 0;
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
++count;
}
return count;
}
ECMAScript 5 対応の実装の場合、これは次のようにも書けます(Kudos to Avi Flax )
function countProperties(obj) {
return Object.keys(obj).length;
}
列挙できないプロパティも見逃さないようにしましょう(例えば、配列の
length
).
jQuery、Prototype、Mootools、$whatever-the-newest-hypeなどのフレームワークを使用している場合、それらが独自のコレクションAPIを備えているかどうかを確認してください。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み】JavaScriptのオブジェクトの長さ
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] moment.jsでミュータビリティを回避するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptでオブジェクトのキー/プロパティの数を効率的にカウントする方法
-
[解決済み] JavaScriptのオブジェクトの属性を数えるにはどうしたらいいですか?[重複しています]
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] オブジェクトの配列からReactコンポーネントをレンダリングする
-
[解決済み] TypeScriptプロジェクトで既存のC#クラス定義を再利用する方法
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] 変異を伴わないオブジェクトからの値の削除
-
[解決済み] DataURLからBlob?