JavaScript でネストされたオブジェクトのプロパティを動的に設定するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-04 15:00:46
オリジナル
1015 人が閲覧しました

How Can You Dynamically Set Properties on Nested Objects in JavaScript?

ネストされたオブジェクトの動的プロパティ設定

複雑なネストされたオブジェクトにプロパティを動的に設定するのは難しい場合があります。これに対処するには、次の関数を検討してください。

<code class="javascript">function set(path, value) {
    var schema = obj;  // Reference to internal objects within obj
    var pList = path.split('.');
    var len = pList.length;
    for (var i = 0; i < len - 1; i++) {
        var elem = pList[i];
        if (!schema[elem]) schema[elem] = {};
        schema = schema[elem];
    }

    schema[pList[len - 1]] = value;
}</code>
ログイン後にコピー

この関数を使用すると、ドット区切りのパスを使用して、深くネストされたオブジェクトのプロパティを設定または上書きできます。

<code class="javascript">set('db.mongodb.user', 'root');</code>
ログイン後にコピー

When関数はパス上に存在しないオブジェクトを検出すると、そのレベルで空のオブジェクトを作成します。これにより、既存の値をマージしたり上書きしたりせずに、プロパティを正しいレベルで設定できるようになります。

たとえば、次のオブジェクトがあるとします。

<code class="javascript">var obj = {
    db: {
        mongodb: {
            host: 'localhost'
        }
    }
};</code>
ログイン後にコピー

Setting db.mongodb.user to 'root ' は次のようになります:

<code class="javascript">obj = {
    db: {
        mongodb: {
            host: 'localhost',
            user: 'root'
        }
    }
};</code>
ログイン後にコピー

プロパティを動的に設定することにより、オブジェクトの構造が不明な場合や変化する場合でも、複雑なネストされたオブジェクトを簡単に操作できます。この手法は、複雑なデータ構造内のデータにアクセスして変更するための強力かつ柔軟な方法を提供します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート