如何在javascript中通过索引访问多维数组?

时间:2014-10-15 10:57:59

标签: javascript

我在java-script

中有一个如下所示的数组
Result = [
  {"ID":1,"Type":"Pyramid","Phase":"One"},
  {"ID":2,"Type":"Pyramid","Phase":"Two"}
]

我尝试访问各个值,并且能够通过以下代码

alert(Result[0].ID) or alert(Result[0].Phase)

有没有办法按索引访问?像Result [0] [1],我试过但是得到[对象] [对象] 我还需要访问列数

请帮帮我

4 个答案:

答案 0 :(得分:1)

你有对象数组,通过使用for循环,你可以轻松访问所有元素值。

尝试以下

  function getValue() {
   var keys ;
   var Result = [{"ID":1,"Type":"Pyramid","Phase":"One"},  {"ID":2,"Type":"Pyramid","Phase":"Two"}]                             
      for(var i=0; i<Result.length;i++){
          keys = [];
              for(var k in Result[i]){
                keys.push(k);
               }
          for(var k=0;k<keys.length;k++){
                console.log(keys[k]+"="+ Result[i][keys[k]]);
              }
            console.log("key count =" +keys.length);
           } 
     }

<强> CHECK THIS

答案 1 :(得分:0)

您的结果是一个对象数组,然后您必须先获取一个对象,然后获取对象的属性。这不是一个多维数组。

答案 2 :(得分:0)

来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

alert(Result[0][Object.keys(Result[0])[0]]);
  • Result[0]获得第一行
  • Object.keys(Result[0])获取第一行中的键
  • Object.keys(Result[0])[0]获取第一个列名称。

Object.keys(Result[0]).length是第一行中的列数。

此外,对象不会像数组那样基于线性整数索引编制索引,因此将有序数字分配给无序的键列表是不对的。

二维数组看起来像这样:

Result = [
  [1,"Pyramid","One"],
  {2,"Pyramid","Two"}
]

在这种情况下,您可以像这样处理每个字段:Result[row][col]因此Result[0][2]会产生One

要访问对象数组中的字段,请使用您提供的语法。另外,为什么要根据id访问对象中的字段?或者为什么不使用数组数组?

答案 3 :(得分:0)

您的数组有一个对象,我们必须将该对象转换为数组。因此,将整个var Result转换为newResult,您可以通过索引号

访问newResult及其组件
    Result = [
          {"ID":1,"Type":"Pyramid","Phase":"One"},
          {"ID":2,"Type":"Pyramid","Phase":"Two"}
        ];
        var newResult = [];
        for (var i = 0; i < Result.length; i++) {
            newResult[i] = [];
            for (var x in Result[i]) {
                 if (Result[i].hasOwnProperty(x)) {
                      newResult[i].push(Result[i][x]);  
                    }
            };
        };
        console.log(newResult);

使用newResult而不是Result

您可以通过newResult [0] [0]

获取ID

<强> http://jsfiddle.net/LLz1cbok/