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

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

Linda Hamilton
リリース: 2024-10-31 08:16:29
オリジナル
369 人が閲覧しました

How to Dynamically Set Properties in Nested JavaScript Objects?

ネストされたオブジェクトでの動的プロパティの割り当て

ネストされたオブジェクトのプロパティの設定は、特にプロパティのパスと値の深さと型が異なる場合、プログラム的に複雑なタスクになる可能性があります。このプロセスを簡素化するために、オブジェクト内のプロパティを動的に走査して設定する関数を作成できます。

関数の実装

<code class="javascript">function set(path, value) {
    var schema = obj; // Moving 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">var obj = {
    db: {
        mongodb: {
            host: 'localhost'
        }
    }
};</code>
ログイン後にコピー

特定のパスでプロパティを設定するには、set() 関数を使用できます。

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

結果

set() 関数の適用サンプルオブジェクトにすると次のようになります:

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

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

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