Home  >  Article  >  Web Front-end  >  How to Get the Parent Object from a Nested Object in JavaScript?

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

Susan Sarandon
Susan SarandonOriginal
2024-10-25 03:14:29618browse

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

Retrieving Parent Object from Nested Object in JavaScript

In JavaScript, accessing nested objects is a common operation. However, retrieving the parent object from a nested object can be challenging.

Consider the following scenario:

obj: { subObj: { foo: 'hello world' } };
var s = obj.subObj;

Now, you want to obtain a reference to the parent object obj from the variable s. Is there a method to achieve this?

The Answer

Unfortunately, nested objects in JavaScript do not have direct access to their parent objects. Therefore, it is not possible to fetch the parent object directly from the nested object.

To illustrate, let's consider the following code:

var main = {
    name : "main object",
    child : {
        name : "child object"
    }
};

Accessing the child's name from the main object is straightforward (i.e., main.child.name). However, attempting to access the parent's name from the child object (i.e., main.child.parent.name) will yield an error.

Alternative Solution

While direct referencing from the child object is not feasible, there is an alternative approach that utilizes a function.

var main = {
    name : "main object",
    child : {
        name : "child object"
    },
    init : function() {
        this.child.parent = this;
        delete this.init;
        return this;
    }
}.init();

In this code, the init function adds a parent property directly to the child object, pointing to the parent object. After this initialization, you can successfully access the parent's name from the child object by calling main.child.parent.name.

This method is a bit unorthodox but offers a solution to the problem of retrieving the parent object from a nested object in JavaScript.

The above is the detailed content of How to Get the Parent Object from a Nested Object in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn