【问题标题】:indexOf () in IE 8 and _.indexOf() of underscore.js library - avoid case sensitivnessIE 8 中的 indexOf() 和 underscore.js 库的 _.indexOf() - 避免区分大小写
【发布时间】:2014-04-18 11:43:00
【问题描述】:

我在 IE 8 中的数组顶部使用 indexOf 方法,但它给出了错误(因为它不受支持)。我选择使用 underscore.js 库。我使用了 underscorejs 库中的 _.indexOf(array, value, [isSorted])。但是 underscore.js 库的 indexOf() 是区分大小写的,但我想在比较值时忽略大小写。使用此功能时如何忽略大小写。

我总是可以使用 for 循环来遍历数组,然后使用 toLowerCase() 但我想知道是否有开箱即用的方法可以为我做到这一点。

【问题讨论】:

  • indexOf 始终区分大小写,但您可以使用带有 i 标志的正则表达式来获取不区分大小写的匹配项。
  • @Teemu:他第一句话就是这么说的???

标签: javascript underscore.js indexof


【解决方案1】:

我建议你把字符串变成小写,然后检查小写字符串的索引。

喜欢:

"Hi I am string".toLowerCase().indexOf("Hi".toLowerCase());

【讨论】:

  • OP 请求数组 indexOf!
  • @Bergi,但他说的是区分大小写!!
  • 是的,不区分大小写的匹配,而不是 Array::indexOf 执行的 ===
【解决方案2】:

我总是可以使用 for 循环遍历数组,然后使用 toLowerCase()

基本上就是这样。

但我想知道是否有开箱即用的方法可以为我做到这一点。

不,但如果您使用 this indexOf variant with an iterator callback,则不必使用 for 循环。

由于我不知道您需要索引来做什么,也许_.find_.some 对您也有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2014-06-03
    • 2014-11-10
    相关资源
    最近更新 更多