Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 996537
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T06:53:27+00:00 2026-05-16T06:53:27+00:00

I’ve had trouble with people jumping to conclusions about what I need here, so

  • 0

I’ve had trouble with people jumping to conclusions about what I need here, so please read this and think about it before answering.

Here is the case:

You have an incoming object. You do not know the structure of this object. You do however have a “target” to something in the object. So let’s pretend there is myObject, and you have some kind of target defined like an array of association levels:

var objectTarget = [ 'firstLevel', 'secondLevel' ,'targetProperty' ];

Now the incoming myObject looks like this:

{
    firstLevel: {
        secondLevel: {
            targetProperty: "The goods!"
        }
    }
}

But as stated before, you don’t know the structure. All you know is what is in the objectTarget array.

My problem is being able to address an arbitrary location within an object based solely off a target. If I knew that the target would always be three levels deep, then I could simply reference it like this:

myObject[objectTarget[1]][objectTarget[2]][objectTarget[3]];

However, because I cannot be sure of the number of level depth, this is not adequate. The only way I have been able to accomplish this task is choose a maximum number of reasonable levels, and then switch on it. Like so:

switch ( objectTarget.length) {
    case 1:
        var result = myObject[objectTarget[1]];
        break;
    case 2:
        var result = myObject[objectTarget[1]][objectTarget[2]];
        break;
    case 3:
        var result = myObject[objectTarget[1]][objectTarget[2]][objectTarget[3]];
        break;
    case 4:
        var result = myObject[objectTarget[1]][objectTarget[2]][objectTarget[3]][objectTarget[1]];
        break;
}

..etc

This is obviously extremely messy, and not the optimal solution.

Does this properly explain my problem? Is there a cleaner manner in which to accomplish this?

Thank you in advance for any advice you can provide.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T06:53:28+00:00Added an answer on May 16, 2026 at 6:53 am

    An attempt off the top of my head:

    function findTarget(obj, targets) {
        for(var i = 0; i < targets.length; i++) {
          var prop = targets[i];
          if(obj[prop] != undefined) {
            obj = obj[prop];
          } else {
            return undefined; // Whatever you want when the target does not exist
    
            // or, if it's useful to you
            return obj; // Maximum reachable target
          }
        }
    
        return obj;
    }
    
    var target = findTarget(incoming, ['level1', 'level2', ...]);
    
    if(target == undefined) {
      // couldn't traverse the entire target list...
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

link Im having trouble converting the html entites into html characters, (&# 8217;) i
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this
For some reason, after submitting a string like this Jack’s Spindle from a text
this is what i have right now Drawing an RSS feed into the php,
I am reading a book about Javascript and jQuery and using one of the
In my XML file chapters tag has more chapter tag.i need to display chapters
I have this code to decode numeric html entities to the UTF8 equivalent character.
I have this code: - (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { NSString *someString = [[NSString
I need to clean up various Word 'smart' characters in user input, including but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.