代码之家  ›  专栏  ›  技术社区  ›  Gunjan Patel

模糊模块返回匹配单词的JSON数组?

  •  0
  • Gunjan Patel  · 技术社区  · 8 年前

    我正在使用 fuzzy 带有节点的模块,但我有一个长JSON数组包含对象。我需要完整的匹配对象。喜欢

    模块连接 Fuzzy Modules

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

    我有上面的JSON数组列表,如果我传递单词 narwhal 它只返回数组中匹配的单词,但我需要匹配对象的数组。输出类似于:

    [
       {rompalu: 'narwhal' , zibbity: 'mufasa'}
    ]
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   robertklep    8 年前

    似乎有多种选择。

    • 使用手动筛选列表 fuzzy.test() :

      var results = list.filter(function(obj) {
          return fuzzy.test('narwhal', obj.rompalu);
      });
      
    • 提取“原件”:

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