迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

在 JavaScript 中使 Array.indexOf() 不区分大小写

作者:迹忆客 最近更新:2022/12/16 浏览次数:

要通过执行不区分大小写的查找来获取元素的索引,我们必须:

  1. 使用函数调用 Array.findIndex 方法
  2. 该函数应将数组元素和字符串转换为小写并进行相等性检查
  3. Array.findIndex 方法返回元素的索引,如果没有元素满足条件则返回 -1
// Not Supported in IE 6-11
const arr = ['HELLO', 'WORLD'];
const str = 'world';

const index = arr.findIndex(element => {
  return element.toLowerCase() === str.toLowerCase();
});

console.log(index); // 👉️ 1

if (index !== -1) {
  // 👉️ string is in the array
}

我们传递给 Array.findIndex 方法的函数会针对数组的每个元素进行调用,直到它返回真值或遍历所有元素。

在代码片段中,我们将数组元素和字符串都转换为小写,以使比较不区分大小写。

通过将元素和字符串转换为大写可以实现相同的结果。

该字符串包含在索引 1 处的数组中,因此这是 Array.findIndex 的返回值。

如果相等比较从未返回 true,则 Array.findIndex 将返回 -1。

我们无法通过使用 Array.indexOf 执行不区分大小写的查找来获取元素的索引,因为该方法直接接收值并且不允许我们遍历每个数组元素并操作它们(例如小写)。

请注意,Internet Explorer 6-11 不支持 Array.findIndex,因此如果您必须支持浏览器,请确保获取 polyfill 或使用 babel 将我们的代码转换为浏览器可以理解的旧版本的 JavaScript。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便