比较javascript中的字符串数组

时间:2016-01-29 15:31:34

标签: javascript arrays

我正在编写一个代码,其中有一个字符串可以与变量数组进行比较。如果找到,我需要提醒您找到了匹配项。以下是我的代码。

这里我将单个字符串与字符串数组进行比较。我不是在比较两个不同的js数组。

web: gunicorn manage:app

在我的情况下,令我惊讶的是,当我点击按钮时没有任何反应。

2 个答案:

答案 0 :(得分:0)

var cancellations = new Array();

在这里创建一个(新的)空数组。

var variablesArray = new Array(cancellations, changeInfo, idq, others, replace, moreInfo, salesRep, custReq);

在这里创建一个包含多个空数组的数组。

if (dataTerm == variablesArray[i].value)

表达式variablesArray[i]将评估您放入此数组的其中一个空数组。表达式.value将评估为undefined,因为数组不具有名为value的属性。由于您拥有的字符串不等于undefined,因此条件永远不会成立。

答案 1 :(得分:0)

看看:当你得到dataTerm时,它是一个字符串值。您正在将dataTermvariablesArray中的元素进行比较,这些元素是数组(一旦您使用new Array()进行初始化。您无法比较如此不同的内容。

另一个主题:不要在

中使用方括号

new Array[cancellations, changeInfo, idq, others, replace, moreInfo, salesRep, custReq];

Array是一个函数,使用括号。

new Array(cancellations, changeInfo, idq, others, replace, moreInfo, salesRep, custReq);

在循环中尝试:

for (var i = 0; i < variablesArray.length; i++) {
    for(j = 0; j < variablesArray[i].length; j++){
        if (dataTerm == variablesArray[i][j].value) {
            alert("matched at" + variablesArray[i][j].value);
        }
    }
}