Javascript数组访问

时间:2012-11-25 12:19:12

标签: javascript

如何在javascript中使用document.write()来访问这种形式的数组?

({"1":{"1":1,"2":1,"3":1},
  "2":{"1":1,"2":1,"3":2},
  "3":{"1":1,"2":2,"3":1},
  "4":{"1":1,"2":2,"3":2},
  "5":{"1":2,"2":1,"3":1,"4":1},
  "6":{"1":2,"2":1,"3":1,"4":2},
  "7":{"1":2,"2":1,"3":2},
  "8":{"1":2,"2":2,"3":1},
  "9":{"1":2,"2":2,"3":2}})

3 个答案:

答案 0 :(得分:1)

例如,如果要访问第一个数组的第一个元素,则应编写:

theData=({"1":{"1":1,"2":1,"3":1},
  "2":{"1":1,"2":1,"3":2},
  "3":{"1":1,"2":2,"3":1},
  "4":{"1":1,"2":2,"3":2},
  "5":{"1":2,"2":1,"3":1,"4":1},
  "6":{"1":2,"2":1,"3":1,"4":2},
  "7":{"1":2,"2":1,"3":2},
  "8":{"1":2,"2":2,"3":1},
  "9":{"1":2,"2":2,"3":2}});
document.write(theData[1][1]); //1

由于您显然使用jQuery,以下是如何打印元素:

$(document).ready(function() { 
   $.getJSON('array.php?callback=?', function(data) {
     if(data) {
         $.each(data,function(key,val){
              $.each(val,function(subkey,subval){
                  document.write(subval+" ");
              });
              document.write('<br/>');
         });
     } 
     else { alert('error'); } 
   }); 

});

答案 1 :(得分:0)

将其分配给变量并使用括号表示法访问对象属性。

var mydata = ({...});

mydata['1']['3'] //1

答案 2 :(得分:0)

这不是数组,而是对象的对象。因此迭代每个对象并检查是否存在嵌套对象。 Example 旁注:展示一些努力,更好的是,尝试搜索一下,谷歌是你最好的朋友。

function traverse ( data )
{
    for ( var index in data )
    {
        if ( typeof data[index] === "object" )
        {
            traverse ( data[index] );
        } else {
            document.write ( data[index] );
        }
    }
    document.write ( "<br/>" );
}

traverse ( a );