JavaScript でネストされたオブジェクトから親オブジェクトを取得する方法

Susan Sarandon
リリース: 2024-10-25 03:14:29
オリジナル
617 人が閲覧しました

How to Get the Parent Object from a Nested Object in JavaScript?

JavaScript でネストされたオブジェクトから親オブジェクトを取得する

JavaScript では、ネストされたオブジェクトへのアクセスは一般的な操作です。ただし、ネストされたオブジェクトから親オブジェクトを取得するのは難しい場合があります。

次のシナリオを考えてみましょう:

obj: { subObj: { foo: 'hello world' } };
var s = obj.subObj;
ログイン後にコピー

ここで、変数から親オブジェクト obj への参照を取得したいとします。 s.これを実現する方法はありますか?

答え

残念ながら、JavaScript のネストされたオブジェクトは親オブジェクトに直接アクセスできません。したがって、ネストされたオブジェクトから親オブジェクトを直接フェッチすることはできません。

説明のために、次のコードを考えてみましょう。

var main = {
    name : "main object",
    child : {
        name : "child object"
    }
};
ログイン後にコピー

メイン オブジェクトから子の名前にアクセスするのは次のとおりです。簡単です (つまり、main.child.name)。ただし、子オブジェクト (つまり、main.child.parent.name) から親の名前にアクセスしようとすると、エラーが発生します。

代替ソリューション

直接子オブジェクトからの参照は現実的ではありません。関数を利用する代替アプローチがあります。

var main = {
    name : "main object",
    child : {
        name : "child object"
    },
    init : function() {
        this.child.parent = this;
        delete this.init;
        return this;
    }
}.init();
ログイン後にコピー

このコードでは、init 関数は、親オブジェクトを指す親プロパティを子オブジェクトに直接追加します。 。この初期化の後、main.child.parent.name を呼び出すことで、子オブジェクトから親の名前に正常にアクセスできます。

このメソッドは少し型破りですが、親オブジェクトを取得する際の問題に対する解決策を提供します。 JavaScript のネストされたオブジェクト。

以上がJavaScript でネストされたオブジェクトから親オブジェクトを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!