我正在尝试检查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”开头的任何字符串都是正确的。如果此解决方案适合您,则实际上取决于您的具体问题。小心使用。

07-24 09:17