如何使用下划线对以下数组进行排序?
How Do You Use Underscore to Sort the Following Array?
我想使用下划线通过 array1 过滤 array 并得到下面的 answer .要清楚,如果 array 中对象的 key1 中的任何元素是 array1 中句子的一部分,那么我想保留该元素在 数组 中。例如:
var array = [{key: "don't matter", key1: ["Bob doesn't", "Joe lives", "named John"]},
{key: "still don't matter", key1: ["Jane might", "Jill lives", "Jennifer can't"]}]
var array1 = ["Someone named Bob lives here", "Someone named Joe lives
here", "Someone named Lisa lives here"];
var answer = [{key: "don't matter", key1: ["Bob doesn't", "Joe lives", "named John"]}];
现在我要走这条路:
var answerTest = _.filter(array, function(n){if(_.intersection(n.key1, array1))}); //this is not working though
var answerTest2 = _.filter(array, function(n){return RegExp(n.key1).test(????)})
我认为 answerTest2 是更好的方法,但我不知道从那里去哪里。
var answer = _.filter(array, function(n){
if (_.some(n.key1, function(j){
return _.find(array1, function(p){
return new RegExp(j).test(p)})})) {
return n}});
本题的目的是能够通过对象键之一的字符串值过滤对象数组,并且它与字符串数组中的元素部分匹配。据我了解,没有 RegExp 就无法完成。我认为这是 Javascript 新手理解的重要一点,特别是对于那些可能偏离正常路径执行服务器端 Javascript 使用下划线或 lodash 的人。
我想使用下划线通过 array1 过滤 array 并得到下面的 answer .要清楚,如果 array 中对象的 key1 中的任何元素是 array1 中句子的一部分,那么我想保留该元素在 数组 中。例如:
var array = [{key: "don't matter", key1: ["Bob doesn't", "Joe lives", "named John"]},
{key: "still don't matter", key1: ["Jane might", "Jill lives", "Jennifer can't"]}]
var array1 = ["Someone named Bob lives here", "Someone named Joe lives
here", "Someone named Lisa lives here"];
var answer = [{key: "don't matter", key1: ["Bob doesn't", "Joe lives", "named John"]}];
现在我要走这条路:
var answerTest = _.filter(array, function(n){if(_.intersection(n.key1, array1))}); //this is not working though
var answerTest2 = _.filter(array, function(n){return RegExp(n.key1).test(????)})
我认为 answerTest2 是更好的方法,但我不知道从那里去哪里。
var answer = _.filter(array, function(n){
if (_.some(n.key1, function(j){
return _.find(array1, function(p){
return new RegExp(j).test(p)})})) {
return n}});
本题的目的是能够通过对象键之一的字符串值过滤对象数组,并且它与字符串数组中的元素部分匹配。据我了解,没有 RegExp 就无法完成。我认为这是 Javascript 新手理解的重要一点,特别是对于那些可能偏离正常路径执行服务器端 Javascript 使用下划线或 lodash 的人。