首页 > 解决方案 > 我可以简单地用 Javascript 中的 Indexof 替换 Includes 吗?

问题描述

我正在尝试调试与 IE11 不兼容的 JS:

对象不支持属性或方法“包含”

我读过它includes可以很容易地替换为indexof. 但是,由于我的 JS 知识非常有限,我不确定这是否是我需要在这里进行的唯一更改……或者其他部分是否也需要重写?

原来的

if (el.method_title.includes('|')){
    el.timeslot = el.method_title.split('|')[1].trim();
    el.method_title = el.method_title.split('|')[0].trim();
}

提议

if (el.method_title.indexOf('|')){

标签: javascript

解决方案


如果在您的字符串中找不到子字符串,则调用该方法indexOf并将返回,因此您应该进行比较:-1

if (el.method_title.indexOf('|') >= 0)

indexOf()方法返回指定值在字符串中第一次出现的位置。

-1如果要搜索的值从未出现,则此方法返回。

注意: indexOf() 方法区分大小写。


推荐阅读