所以我有如下定义的数组:
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] 中)。知道为什么会这样吗?
最佳答案
in
operator用于测试对象上是否存在属性(名称)。例如,a[j] 中的 “5”
为真 - 数组的索引为 5
。
您想使用 indexOf
method检查数组中是否存在元素:
if (a[j].indexOf("Computer Science") > -1)
//DO SOMETHING
关于javascript - 将 "in"运算符用于带有 javascript 的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11466900/