2012-05-16 74 views
0

或者它不是一个数组?我在哪里可以找到关于用这种结构创建东西的信息?这是什么类型的数组?

[ 
    ['Firefox', 45.0], 
    ['IE',  26.8], 
    ['Safari', 8.5], 
    ['Opera',  6.2], 
    ['Others', 0.7] 
] 
+1

多维数组? – j08691

+0

如果您在询问语法,那就是“数组字面语法”。查看[MDN文章](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array)了解更多信息。 – jmar777

回答

2

这是一个多维数组。

var x = [ 
    ['Firefox', 45.0], 
    ['IE',  26.8], 
    ['Safari', 8.5], 
    ['Opera',  6.2], 
    ['Others', 0.7] 
]; 
console.log(x[3][1]); 

会导致6.2

jsFiddle example

+0

我将如何向数组添加新值或更新现有值? – supercoolville

+1

更新只是引用要更改的元素的问题。例如,要将Safari的值从8.5更改为8.6,可以使用'x [2] [1] = 8.6;'。要添加一个新的值,你可以这样做:'x.push(['foo',10]);' – j08691

+0

非常感谢你!!!!!!!!!! – supercoolville

5

简而言之,它是一个数组。 :)

如果你的对象(多维数组)被称为testObject例如,你可以穿越它是这样的...

for (var i = 0; i < testObject.length; i++) 
{ 
    for (var j = 0; j < testObject[i].length; j++) 
    { 
     alert(testObject[i][j]); 
    } 
} 
+0

for(var i in testObject) - 可能不是迭代数组的最好方法,因为(var i = 0; i

+3

Eeeck。你应该永远不要用'for(var i in xxx)'来遍历数组,因为它也获取对象的属性,而不仅仅是数组元素。这是一个不好的做法。数组应该用'for(var i = 0,len = testArray.length; i jfriend00