javascript - 将 "in"运算符用于带有 javascript 的二维数组

标签 javascript arrays string multidimensional-array operators

所以我有如下定义的数组:

        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/

相关文章:

javascript - 如何在不使用 Jquery UI 的情况下动态移动 HTML 5 范围输入句柄

arrays - Perl:映射到列表的第一个元素

c++ - 整数数组与字符数组

c++ - 快速移动 CString 到 std::string

Java逐行输出大文件

javascript - 将 aria 用于可扩展元素

javascript - 当两个标签的宽度通过 javascript 改变时,它们会自动改变位置

javascript - 有没有办法在 TypeScript 的新类中扩展 String ?

javascript - 检查 javascript 数组中的字符串元素

java - 使用正则表达式匹配字符串?