模糊模块 Return JSON 匹配词数组?

Fuzzy modules Return JSON Array of Matched word?

我将 fuzzy 模块与节点一起使用,但我有很长的 JSON 数组包含对象。我需要整个匹配的对象。喜欢

link 模块 Fuzzy Modules

var list = [
  {rompalu: 'baconing', zibbity: 'simba'}
, {rompalu: 'narwhal' , zibbity: 'mufasa'}
, {rompalu: 'a mighty bear canoe', zibbity: 'saddam hussein'}
];

我有上面的 JSON 数组列表,如果我传递单词 narwhal 比 return 只匹配数组中的单词,但我需要匹配对象的数组。输出如:

[
   {rompalu: 'narwhal' , zibbity: 'mufasa'}
]

似乎有多种选择。

  • 使用 fuzzy.test():

    手动过滤列表
    var results = list.filter(function(obj) {
        return fuzzy.test('narwhal', obj.rompalu);
    });
    
  • 提取"originals":

    var options = { extract: function(el) { return el.rompalu; } };
    var results = fuzzy.filter('narwhal', list, options).map(function(r) {
      return r.original;
    });