javascript - 大小写搜索

标签 javascript jquery

我正在尝试为我的 jsgrid 创建一个搜索引擎,但我遇到了一个问题。如何搜索大写和小写文本?

因为现在,只有使用相同的符号才能得到结果。

loadData: function (filter) {
  var ajaxItemsFiltered = [];
  $.each(ajaxItems, function (index, value) {
    var allow = true;
    $.each(value, function (index2, value2) {

      if (typeof filter[index2] !== "undefined" && filter[index2] !== '') {

        if (value2.indexOf(filter[index2]) === -1) {

          allow = false;
        }
      }
    });
    if (allow) {
      ajaxItemsFiltered.push(value);
    }
  });


  return ajaxItemsFiltered;
},

最佳答案

您可以使用 Intl.Collat​​or 来执行不区分大小写的比较

const localeCompare = Intl.Collator('en', { sensitivity: 'base' }).compare;
function includesByIgnoreCase(predicate) {
  if (this.filter(predicate).length > 0) {
    return true;
  }
  return false;
};

const value2 = ['hElLo', 'world', 'foo', 'Hello Wolrd'];

console.log(
  includesByIgnoreCase.call(
    value2,
    e => localeCompare(e, 'hello world') !== 0
  )
);

引用资料: MDN:Intl.Collator.prototype.compare

关于javascript - 大小写搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55304208/

相关文章:

Javascript:导出大文本/csv 文件会使 Google Chrome 崩溃

javascript - 使用 flash 或 javascript 进行信息可视化的建议

javascript - 根据条件调用注册的事件回调函数

javascript - 如何为多个 svg 路径设置动画?

php - : how to get the post data? yii

javascript - 通过jquery从文本框中获取值

javascript - 如何在javascript中为按钮添加标题

javascript - jQuery Lightbox Me - 多个链接相同的弹出窗口

javascript - 如何使用 jquery 监听特定按钮

jquery - 创建一个点击下拉框