多维数组返回' undefined' Javascript中的值

时间:2014-02-04 19:35:31

标签: javascript jquery arrays multidimensional-array

我在javascript中有一个多维数组,代码如下:

var solidos = [];
solidos[0] = [];
solidos[0].push({
    nome: 'Octaedro regular',
    dimensoes: 'Aresta = 100mm',
    material: 'Placa de alumínio',
    tempo: '2 horas',
    maquinario: 'Dobradeira e Morsa',
    imagem: 'octaedro.gif'
});

当我在数组的某个元素中发出警报时,它会返回'undefined'。 为什么呢?


alert(solidos[0].nome);

结果:未定义

4 个答案:

答案 0 :(得分:3)

因为它是nested array

你必须尝试,

alert(solidos[0][0].nome);

答案 1 :(得分:0)

因为它是一个二维数组,正如您所指出的那样。索引0的值是一个数组,而不是一个对象。您需要访问第二个数组的键:

alert(solidos[0][0].nome);

请参阅此jsFiddle Demo

答案 2 :(得分:0)

变化:

alert(solidos[0].nome);

要:

alert(solidos[0][0].nome);

答案 3 :(得分:0)

参见我的工作jsFiddle演示:jsFiddle

var solidos = [];
    solidos[0] = [];
    solidos[0].push({
    nome: 'Octaedro regular',
    dimensoes: 'Aresta = 100mm',
    material: 'Placa de alumínio',
    tempo: '2 horas',
    maquinario: 'Dobradeira e Morsa',
    imagem: 'octaedro.gif'
});

console.log(solidos[0][0]);
alert(solidos[0][0].nome);

在firebug控制台中,您可以看到记录solidos [0]返回一个数组 并且记录solidos [0] [0]返回该数组中的第一个元素。