遍历一个二维数组来获得第二列的值
问题描述:
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]
];
我怎么能遍历这个数组从该阵列得到所有“假”值?遍历一个二维数组来获得第二列的值
答
使用循环
for (var i=0;i<linkArray.length;i++)
{
document.write(linkArray[i][1] + "<br>");
}
答
如果你只是想布尔值的列表中,您可以使用此:
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
}
}
答
由变量名,字符串值和结构来看你的阵列,它可能是一个更好的方法,而不是使用数组对象:
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
。
不要在常规数组中使用'for ... in'。 – Fabien 2013-03-14 11:37:11
@Fabien:......为什么不呢? – musefan 2013-03-14 11:37:34
它有时会中断,因此被认为是不好的风格。例如,您可以阅读http://stackoverflow.com/questions/500504/javascript-for-in-with-arrays。 – Fabien 2013-03-14 11:39:18