ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript のドット表記文字列をオブジェクト参照に安全に変換するにはどうすればよいですか?

JavaScript のドット表記文字列をオブジェクト参照に安全に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-20 19:27:10250ブラウズ

How Can I Safely Convert a JavaScript Dot Notation String to an Object Reference?

JavaScript のドット表記文字列をオブジェクト参照に変換する

JavaScript では、ドット表記文字列を変換する必要があるシナリオが発生することがあります。 "a.b" など、オブジェクト内のネストされたプロパティへの参照に変換されます。これは、複雑なデータ構造や外部ソースからのデータを扱う場合に特に便利です。

簡単な解決策の 1 つは、eval() 関数を使用することです。

var obj = { a: { b: '1', c: '2' } };
eval('var val = obj.a.b');
console.log(val); // '1'

ただし、eval( ) は、セキュリティ上の懸念と潜在的なパフォーマンスの問題のため、通常は推奨されません。

より信頼性の高いアプローチは、分割とインデックス ベースのアクセスを組み合わせて使用​​することです。 reduce:

function index(obj, path) {
  return path.split('.').reduce((o, i) => o[i], obj);
}

var val = index(obj, 'a.b');
console.log(val); // '1'

この関数は、各ドット (「.」) でパスを効果的に分割し、reduce を使用してオブジェクト内のネストされたプロパティに反復的にアクセスします。

この手法を利用すると、次のことができます。安全かつ効率的にドット表記文字列をオブジェクト参照に変換します。

以上がJavaScript のドット表記文字列をオブジェクト参照に安全に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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