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中循环,创建自己的
包含的。