【发布时间】:2012-07-13 08:34:14
【问题描述】:
所以我定义了如下数组:
var a = new Array();
a[1] = new Array();
a[1][0] = "Computer Science";
a[1][1] = "Computer Engineering";
a[1][2] = "Aerospace Engineering";
a[1][3] = "Engineering (Other)";
a[1][4] = "Web Development";
a[1][5] = "Computer Programming";
a[1][6] = "Android Development";
//a[2] through a[n] defined similarly
有一次,我正在尝试测试一个字符串是否包含在 a[i] 中的任何位置,比如“计算机科学”,所以我执行以下操作:
for(j=1; j<n; j++)
if("Computer Science" in a[j])
{
//DO SOMETHING
}
但是,这总是返回 false,但我已经验证 a[j] 实际上包含字符串(在 a[j][0] 中)。知道为什么会这样吗?
【问题讨论】:
-
回到基础。试试这个:
alert('Computer Science' in ['Computer Science']);。没有!此外,new Array()可能应该只是[],如var a = [];。 -
为什么是 [1]?无论如何,像同时提到的 ErikE 那样做
var a=[["computer...","computer...",...["android...]]会更优雅
标签: javascript arrays string multidimensional-array operators