Javascript 如何混合使用下划线函数来为u.contains()使用自定义比较算法?

Javascript 如何混合使用下划线函数来为u.contains()使用自定义比较算法?,javascript,underscore.js,Javascript,Underscore.js,理想情况下,我希望将一个自定义比较函数作为第三个参数传递给\u0.contains(),但它只接受一个集合和一个值 代码 我想这样做: _.contains(['apples', 'oranges'], 'applesss', function (element, value) { return new RegExp(element).test(value); }); _.包含(['apples','oranges','applesss',函数(元素,值){ 返回新的RegExp(元素).t

理想情况下,我希望将一个自定义比较函数作为第三个参数传递给
\u0.contains()
,但它只接受一个集合和一个值

代码

我想这样做:

_.contains(['apples', 'oranges'], 'applesss', function (element, value) { return new RegExp(element).test(value); }); _.包含(['apples','oranges','applesss',函数(元素,值){ 返回新的RegExp(元素).test(值); });
。。。但是我不能,那么下一个最好的方法是什么呢?

听起来像是您在寻找的,如果数组中至少有一个元素的测试通过,它将返回
true

_.some(['apples', 'oranges'], function (element) {
  return new RegExp(element).test('applesss');
});
您可以轻松地将其包装到自己的函数中:

function test_regexes(arr, value) {
  return _.some(arr, function (element) {
    return new RegExp(element).test(value);
  });
}

test_regexes(['apples', 'oranges'], 'applesss');

您只需在本机JavaScript中循环,创建自己的
包含的