在Javascript中的嵌套对象内部访问数组值 [英] Access array value inside a nested object in Javascript

查看:144
本文介绍了在Javascript中的嵌套对象内部访问数组值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我相信我们日常生活中使用的JSON对象类型很少:

I believe there are few types of JSON objects we work with in daily life:

具有键值属性的对象:

{
    "key" : "value",
    "key" : "value",    
    "key" : "value"
}

包含值作为数组的对象:

Object containing value as an array:

{                      
    "key" : "value",
    "key" : "value",        
    "key" : ["value1", "value2", "value3"], 
}

包含值作为对象数组的对象:

Object containing value as an array of objects:

{                 
    "key" : "value",
    "key" : "value",        
    "key" : [
        {"key" : "value"},
        {"key" : "value"},
        {"key" : "value"},
    ]
}

包含具有键-值属性的嵌套对象的对象,其中value是对象的数组:

Object containing nested object with key-value properties where value is an array of objects:

{                    
    "key" : "value",
    "key" : "value",        
    "key1" : {
        "key11" : [  
            {"key" : "value"},  
            {"key" : "value"}       
        ],
        "key12" : [  
            {"key" : "value"},  
            {"key" : "value"}       
        ],
        "key13" : [  
            {"key" : "value"},  
            {"key" : "value"}           
        ]
    }
}

我已经访问了key1对象,并在key1对象中有一个数组,其中包含所有键.也就是说,

I have accessed key1 object and have an array with all they keys inside key1 object. That is,

arr = ["key11", "key12", key"13"];

我想循环遍历key1内部的所有键值属性,并且还循环遍历"key11","key12",...

I want to loop through all key-value properties inside key1 and also loop through "key11", "key12", ...

如何实现?

推荐答案

!(function(){
  //data always like this:
  // this just an array 
  var json_array = [
    {id:1, name:"alex", age: 11},
    {id:2, name:"bob", age: 12},
    {id:3, name:"nn", age: 13},
  ];
 
  // page total_page don't need loop, direct use it
  var json_object = {
    page: 1,
    total_page: 20,
    total_item: 300,
    list: [
      {id:1, name:"alex", age: 11},
      {id:2, name:"bob", age: 12},
      {id:3, name:"nn", age: 13},
    ]
  }
  // or   for(var id in list_object){ console.log(list_object[id]['name'])  }
  var list_object = {
    1: {id:1, name:"alex", age: 11},
    2: {id:2, name:"bob", age: 12},
    3: {id:3, name:"nn", age: 13},
  }
  
  // your data need some change
  var data = {                    
      "key" : "value",
      "key" : "value",        
      "key1" : {

          "key11" : [
              {"key" : "value"},
              {"key" : "value"}
          ],

          "key12" : [
              {"key" : "value"},
              {"key" : "value"}
          ],
          "key13" : [
              {"key" : "value"},
              {"key" : "value"}
          ],
      }
  }
  
  // loop object
  for(var i in data['key1']){
    // loop array
    data['key1'][i].map(function(item, i){
      console.log(item['key'])
    })
  }

})()

这篇关于在Javascript中的嵌套对象内部访问数组值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆