ホームページ >ウェブフロントエンド >jsチュートリアル >文字列プロパティ名を使用して深くネストされた JavaScript オブジェクトに値を割り当てる方法

文字列プロパティ名を使用して深くネストされた JavaScript オブジェクトに値を割り当てる方法

DDD
DDDオリジナル
2024-12-15 20:04:17790ブラウズ

How to Assign Values to Deeply Nested JavaScript Objects Using String Property Names?

文字列名を使用した JavaScript での動的プロパティ割り当て

JavaScript では、文字列表現のみを使用してオブジェクトの深くネストされたプロパティを設定する必要があるシナリオが発生します。例:

var obj = {};
var propName = "foo.bar.foobar";

プロパティ obj.foo.bar.foobar を「hello world」に設定するには、次の関数を利用できます。

function assign(obj, prop, value) {
    if (typeof prop === "string")
        prop = prop.split(".");

    if (prop.length > 1) {
        var e = prop.shift();
        assign(obj[e] =
                 Object.prototype.toString.call(obj[e]) === "[object Object]"
                 ? obj[e]
                 : {},
               prop,
               value);
    } else
        obj[prop[0]] = value;
}

この関数は、ネストされたプロパティ構造により、途中で不足しているオブジェクトが作成されます。最後に、最終値を目的のプロパティに割り当てます。

使用法:

assign(obj, propName, "hello world");

この割り当てを実行すると、obj.foo.bar.foobar が "hello world" に設定されます。 .

以上が文字列プロパティ名を使用して深くネストされた JavaScript オブジェクトに値を割り当てる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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