我正在尝试检查JS中的值,该值在页面加载时以单元素数组形式返回,而ajax函数以字符串形式返回后。我不知道为什么要这么做,但我正在尝试发挥作用。
因此,使用console.log(value)
我在页面加载时得到array ['Scranton']
,而ajax甚至返回string "Scranton"
尝试检查此变量时,此操作不符合我的预期:
if ( value === 'Scranton' || value === ['Scranton']){
...
}
任何帮助表示赞赏!
最佳答案
您可以将indexOf
用于数组和字符串,因此value.indexOf("Scranton") !== -1
将起作用(只需在控制台上对其进行测试)。
但是,您必须首先检查是否为null / false / undefined,否则它将出错。
if (value && value.indexOf("Scranton") !== -1) {}
编辑:正如费利克斯所说,这对于包含“ Scranton”的任何字符串也将成立。如果这是一个问题,那么您可以改为检查
indexOf == 0
,这对于以“ Scranton”开头的任何字符串都是正确的。如果此解决方案适合您,则实际上取决于您的具体问题。小心使用。