ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でオブジェクトのプロパティ名のリストを効率的に取得するにはどうすればよいですか?

JavaScript でオブジェクトのプロパティ名のリストを効率的に取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-08 10:01:13234ブラウズ

How Can I Efficiently Retrieve a List of Object Property Names in JavaScript?

JavaScript でのオブジェクト プロパティの識別

JavaScript では、オブジェクトはデータの保存と操作において重要な役割を果たします。オブジェクトのプロパティ (キーと値のペア) にアクセスするには、さまざまなメソッドを使用できます。この記事では、さまざまな目的に役立つ、プロパティ名のリストを取得する効率的な方法について説明します。

Object.keys メソッド

最新のブラウザ (IE9 、 FF4 、 Chrome5 、 Opera12) 、Safari5 ) は、指定されたプロパティ名を含む配列を返す Object.keys メソッドを提供します。 object.

const myObject = {
  ircEvent: "PRIVMSG",
  method: "newURI",
  regex: "^http://.*"
};

const keys = Object.keys(myObject);
console.log(keys); // ["ircEvent", "method", "regex"]

古いブラウザ用のポリフィル

Object.keys をサポートしていないブラウザの場合は、ポリフィルを使用できます:

const getKeys = function(obj) {
   const keys = [];
   for (const key in obj) {
      keys.push(key);
   }
   return keys;
}

const keys = getKeys(myObject);
console.log(keys); // ["ircEvent", "method", "regex"]

Extend Object。または、prototype

を使用して Object.prototype を拡張することもできます。 .keys() メソッド:

Object.prototype.keys = function() {
   const keys = [];
   for (const key in this) {
      keys.push(key);
   }
   return keys;
}

const keys = myObject.keys();
console.log(keys); // ["ircEvent", "method", "regex"]

プロトタイプを拡張すると、意図しない副作用が生じる可能性があることに注意してください。一般的には、代わりに Object.keys またはポリフィルを使用することをお勧めします。

以上がJavaScript でオブジェクトのプロパティ名のリストを効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。