javascript - 如何在下划线中使用 _.where() 来比较值而不考虑大小写

标签 javascript arrays html underscore.js lowercase

我有一个网页,如果在搜索框中输入了某些内容,它就会遍历该值的文件。我需要它以便搜索/查找不区分大小写。区分大小写必须保留在文件中,但出于比较目的,它忽略了大小写。

所以目前我正在使用下划线命令:

arr=_.where(arr,filter);

但是 2 个数组 arrfilter - 无论大小写我都需要比较/使用它们所以最终结果 arr 包含上下混合的结果大小写但匹配 arr 中的值。

最佳答案

尝试使用 filter相反:

var filter = ["Apple", "bANAna", "orange"];
var arr = ["apPle", "ORANGE"];

// make filter lower case once    
var filterLower = _.invoke(filter, "toLowerCase");

var arr2 = _.filter(arr, function(v) {
    // make entry lower case and see if it is in filterLower
    return _.contains(filterLower, v.toLowerCase());
});

console.dir(arr2);
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script>

关于javascript - 如何在下划线中使用 _.where() 来比较值而不考虑大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27857577/

相关文章:

javascript - 我的提示似乎不起作用

python - 有没有一种有效的方法将 dask.array 的每一行(或列)乘以向量元素?

php - 按子数组的长度对数组数组进行排序?

javascript - 找到 child H3 并检查是否有值(value)

javascript - 没有机会让强类型对象可以被 mobx 观察到

javascript - React Quill 自定义排序列表

javascript - 通过 javascript 访问 Facebook 图表

Javascript 数组对象未定义

javascript - 单击按钮将 img 替换为 iframe

html - 如何让相邻的 div 与行中最高的 div 的高度相匹配?