[解決済み】キー/バリューjavascriptオブジェクトのキーを取得する最良の方法
2022-04-05 05:37:46
質問
のようなJSオブジェクトがあった場合。
var foo = { 'bar' : 'baz' }
ということが分かれば
foo
はその基本的なキー/バリュー構造を持っていますが、キーの名前を知らない場合、それを取得する最も簡単な方法は何ですか?
for ... in
?
$.each()
? もっといいものがあればいいのですが...。
解決方法は?
すべてのキーを取得したい場合。
ECMAScript 5 で導入された
Object.keys
. これは新しいブラウザでのみサポートされていますが
MDCドキュメント
は、別の実装を提供しています(これも
for...in
btw)です。
if(!Object.keys) Object.keys = function(o){
if (o !== Object(o))
throw new TypeError('Object.keys called on non-object');
var ret=[],p;
for(p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
return ret;
}
もちろん、キーと値の両方が必要な場合は、次のようになります。
for...in
が唯一の合理的な解決策です。
関連
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み】未定義のプロパティ 'bind' を読み込めない。React.js【重複あり
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】React Js: Uncaught (in promise) SyntaxError: 位置 0 の JSON で予期しないトークン < が発生しました。
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】jquery $.ajaxオブジェクトのresponseJSONプロパティを取得する方法 [重複]。
-
[解決済み] テスト
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】getElementByIdはnullを返す?[クローズド]
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み】中央値の計算 - javascript
-
[解決済み] JavaScriptのオブジェクトのキーをその値で取得する方法は?