多维数组显示

时间:2016-07-27 23:28:30

标签: javascript multidimensional-array

我做了这样的数组:

var multiarray = {

    cat:{
        name:'hellokitty',
        legs:4
    },
    dog:{
        name:'fred',
        legs:4
    }
};

我只是想展示,猫和狗。像这样 console.log(multiarray[0]) => cat。 但它不起作用。

猫与狗是一种身份。我想在多维对象数组中显示id。

2 个答案:

答案 0 :(得分:2)

你想要这个:



    Command: storeAttribute
    Target: //table[@id='dtgList']/tbody/tr[1]/td/a@href
    Value: varNewWindow

    Command: echo - I've read that the echo command is optional, but I used it
    Target: ${varNewWindow}
    Value: 

    Command: openWindow
    Target: ${varNewWindow}
    Value: Profile - again, this is where we assign the new name

    Command: Pause
    Target: 10000
    Value:

    Command: selectWindow
    Target: Profile - and then use the new name
    Value: 




正如评论中所注意到的,您的var multiarray = { cat:{ name:'hellokitty', legs:4 }, dog:{ name:'fred', legs:4 } }; console.log(Object.keys(multiarray)[0]); console.log(Object.keys(multiarray)[1]);实际上是一个对象。

另一方面,multiarray将返回一个数组:对象键列表。

请注意,Javascript不保证对象中的密钥(或'属性')顺序。换句话说,你不应该假设“猫”。会先到。

答案 1 :(得分:1)

正如其他用户之前所说,multiarray变量实际上是Object的原型,而不是Array

var multiarray = {

    cat:{
        name:'hellokitty',
        legs:4
    },
    dog:{
        name:'fred',
        legs:4
    }
};

console.log(typeof(multiarray)); //"object"
console.log(typeof(multiarray) == Array); //false

Object的所有原型都可以在JavaScript中枚举。你可以使用for ... in语句迭代键。

  

for ... in语句迭代了一个的可枚举属性   对象,以任意顺序。对于每个不同的属性,语句都可以   被执行。

var multiarray = {

    cat:{
        name:'hellokitty',
        legs:4
    },
    dog:{
        name:'fred',
        legs:4
    },
    ape:{
       name:'charlie',
       legs:2
    },
    elephant:{
       name:'big indian',
       legs:4
    }
};

for(var k in multiarray) { console.log(k); } //will print keys (cat, dog, ape, elephant,)