我正在编写一个代码,其中有一个字符串可以与变量数组进行比较。如果找到,我需要提醒您找到了匹配项。以下是我的代码。
这里我将单个字符串与字符串数组进行比较。我不是在比较两个不同的js数组。
web: gunicorn manage:app
在我的情况下,令我惊讶的是,当我点击按钮时没有任何反应。
答案 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
时,它是一个字符串值。您正在将dataTerm
与variablesArray
中的元素进行比较,这些元素是数组(一旦您使用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);
}
}
}