javascript - IndexOf、Search 和 Contains 似乎无法在更大的字符串中找到子字符串

标签 javascript

我有一个机器人可以在线检索智能手机及其价格。它会获取其完整描述,然后搜索设备名称,如下所示:

let devices = ['Xperia XA Ultra',
               'iPhone 6  Apple Plus',
               'iPhone 7 Apple Plus Red',
               'LG K9',];

    function recuperarAparelho(fullDescription){
    for(let device of devices){         
        //search for the substring here
    }
    return fullDescription;
}

99% 的情况下,搜索都有效。但有一个特别是我似乎无法使其工作:

let fullDesc = 'Smartphone LG K9 Preto 16GB, Android 7.0, Dual Chip, TV Digital, Tela 5.0"HD, Câmera 8MP, Processador Quad Core 1.3 Ghz e 2GB de RAM - LMX210BMW 16GB'

搜索应该返回“LG K9”,但我尝试过indexOf()、search() 和 contains(),但都不起作用。我在这里缺少什么?

最佳答案

使用.includes() Read more about .includes() here

indexOf 也可以工作,所以不确定为什么它不适合你 - 请参阅下面的代码片段

let fullDesc = 'Smartphone LG K9 Preto 16GB, Android 7.0, Dual Chip, TV Digital, Tela 5.0"HD, Câmera 8MP, Processador Quad Core 1.3 Ghz e 2GB de RAM - LMX210BMW 16GB';

console.log(fullDesc.includes('LG K9'));
console.log(!!fullDesc.indexOf('LG K9')); /* double bang to make it boolean */

关于javascript - IndexOf、Search 和 Contains 似乎无法在更大的字符串中找到子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52425450/

相关文章:

javascript - 在 React 应用程序中共享全局/单例数据

javascript - 在两个图像源之间切换

javascript - React Navigation : Navigate Back To Root using NavigationActions. 重置、goBack 和 getStateForAction

javascript - 是否可以将删除/放置请求发送到 Azure AD 安全 api 或使用 aadHttpClientFactory 以字符串形式获取 jwt token

javascript - 带有 Bootstrap 行的 jQuery UI 可排序占位符

javascript - 三.js 和深度Func

c# - 获取C#中隐藏输入字段的值

javascript - 谁能解释为什么第一个例子的返回值是 NaN ?第二个例子很好

javascript - jQuery fadeIn/fadeOut 而不是 fadeToggle

javascript - 我可以在 Javascript 中使用简写 if && 执行多个语句吗?