1

Hi im unable to get data from this array .

 var myvar = {
 "403": {
    "3": {
        "name": "girl",
        "types": {
            "1": {
                "name": "pants",
                "sizes": [{
                    "230": "50/56        (0-2 mon)"
                }, {
                    "231": "62/68        (2-6 mon)"
                }, {
                    "232": "74/80        (6-12 mon)"
                }]
            },
            "4": {
                "name": "tshirt",
                "sizes": [{
                    "230": "50/56        (0-2 mon)"
                }, {
                    "231": "62/68        (2-6 mon)"
                }, {
                    "232": "74/80        (6-12 mon)"
               }]
            }
        }
    },
    "4": {
        "name": "boy",
        "types": {
            "1": {
                "name": "Byxor",
                "sizes": [{
                    "230": "50/56        (0-2 mon)"
                }, {
                    "231": "62/68        (2-6 mon)"
                }]
            }
        }
    }
 },
 "401": {
    "1": {
        "name": "woman",
        "types": {
            "2": {
                "name": "Jeans",
                "sizes": [{
                    "40": "25 inch"
                }, {
                    "41": "26 inch"
                }]
            },
            "1": {
                "name": "Tshirt",
                "sizes": [{
                    "60": "32    (XS)"
                }, {
                    "61": "34    (XS)"
                }, {
                    "62": "36    (S)"
                }]
            }
        }
    },
    "2": {
        "name": "Mr",
        "types": {
            "2": {
                "name": "Jeans",
                "sizes": [{
                    "43": "28 inch"
                }, {
                    "44": "29 inch"
                }]
            },
            "1": {
                "name": "Tshirt",
                "sizes": [{
                    "90": "44    (S)"
                }, {
                    "91": "46    (S)"
                }]
            }
        }
    }
 }
 };

i have other variable secondvar which can be 403 , or 401 and then retrive the values of that number.

is this possible? and then same way to get inner data for this last data lets say thirdvariable has values 3 and 4

like in example above . and same for ´forthvariable´ which can 1 and 4 under the the number 3 of variable ´thirdvariable´ and get its data name , sizes

Karim Daraf
  • 226
  • 2
  • 9

3 Answers3

3

Try this

var secondvar = '403'
var thirdvar = '3'
var fourthvar = 'name'

myvar[secondvar][thirdvar][fourthvar] 
allenylzhou
  • 1,431
  • 4
  • 19
  • 36
1
var secondvar = 403;
var thirdvar = 3;
var fourthvar = 1;

alert(myvar[secondvar][thirdvar]['types'][fourthvar]['name']);
alert(myvar[secondvar][thirdvar]['types'][fourthvar]['sizes']);

jsfiddle

dipser
  • 442
  • 3
  • 5
0

The problem I see in your code is that you use numbers as keys in your object, that cause an error when you try to access the properties with don notation.

myvar.403.3.name // Syntax Error

One solution is to use numbers with letters.

 var myvar = {
 "t403": {
    "n3": {
        "name": "girl",
        "types": {

After that

myvar.t403.n3.name // "girl"

A better way is to follow a different design.

var myvar = [{
   "type" : "403",
   "sizes" : [{"number" : "3"}]
}]

I think you can find the rest.

giannis christofakis
  • 8,201
  • 4
  • 54
  • 65