2013-03-14 83 views
2
var linkArray = [ 
['boothsizeDiv_link', false], 
['furnishingsprovidedDiv_link', false], 
['electricalDiv_link', false], 
['rentalfurnishingsDiv_link', false], 
['gesgraphicsDiv_link', false], 
['geslaborDiv_link', false], 
['contractorDiv_link', false], 
['carpetingDiv_link', false], 
['boothlightingDiv_link', false], 
['javitsDiv_link', false], 
['boothsealDiv_link', false], 
['mannequinsDiv_link', false], 
['calcDiv_link', false] 
]; 

我怎么能遍历这个数组从该阵列得到所有“假”值?遍历一个二维数组来获得第二列的值

回答

3

使用循环

for (var i=0;i<linkArray.length;i++) 
{ 
    document.write(linkArray[i][1] + "<br>"); 

} 
0

如果你只是想布尔值的列表中,您可以使用此:

var falseValues = [];//this will be your list of false values 

for(var i = 0; i < linkArray.length; i++){ 
    var link = linkArray[i]; 
    //test the value at array index 1 (i.e. the boolean part) 
    if(!link[1]){ 
     falseValues.push(link[1]);//add the false to the list 
    } 
} 
+1

不要在常规数组中使用'for ... in'。 – Fabien 2013-03-14 11:37:11

+0

@Fabien:......为什么不呢? – musefan 2013-03-14 11:37:34

+1

它有时会中断,因此被认为是不好的风格。例如,您可以阅读http://stackoverflow.com/questions/500504/javascript-for-in-with-arrays。 – Fabien 2013-03-14 11:39:18

0

由变量名,字符串值和结构来看你的阵列,它可能是一个更好的方法,而不是使用数组对象:

var linkObject = { 
boothsizeDiv_link: false, 
furnishingsprovidedDiv_link: false, 
electricalDiv_link: false, 
rentalfurnishingsDiv_link: false, 
gesgraphicsDiv_link: false, 
geslaborDiv_link: false, 
contractorDiv_link: false, 
carpetingDiv_link: false, 
boothlightingDiv_link: false, 
javitsDiv_link: false, 
boothsealDiv_link: false, 
mannequinsDiv_link: false, 
calcDiv_link: false 
}; 

现在,您可以GE t等这样的布尔值的数组:

var ret = []; 
for (var propertyName in linkObject) { 
    ret.push(linkObject[propertyName]); 
} 

但你也可以得到这样一个特定的值:

linkObject['boothsizeDiv_link'] 

这将产生false