【问题标题】:JavaScript: How to rebuild text from an inverted index?JavaScript:如何从倒排索引重建文本?
【发布时间】:2017-05-08 09:54:14
【问题描述】:

我有以下格式的倒排索引:

{
 IndexLength: 5,
 InvertedIndex: {
  word1: [0, 2, 4],
  word2: [1, 3]
 }
}

使用 JavaScript 将其转换为“word1 word2 word1 word2 word1”字符串的最有效方法是什么?

【问题讨论】:

    标签: javascript arrays json inverted-index


    【解决方案1】:

    您可以使用两个forEach() 循环创建数组,然后使用join() 获取字符串。

    var obj = {IndexLength: 5,InvertedIndex: {word1: [0, 2, 4],word2: [1, 3]}}
    
    var arr = []
    Object.keys(obj.InvertedIndex).forEach(k => obj.InvertedIndex[k].forEach(a => arr[a] = k))
    console.log(arr.join(' '))

    【讨论】:

    • 更简单的答案。
    【解决方案2】:

    这是一个开始的例子。

    var obj = {
      IndexLength: 5,
      InvertedIndex: {
        word1: [0, 2, 4],
        word2: [1, 3]
      }
    }
    
    var arr = [];
    
    var temp = obj.InvertedIndex;
    
    for (var key in temp) {
      if (temp.hasOwnProperty(key)) {
        temp[key].forEach(function(v) {
          arr[v] = key;
        });;
      }
    }
    
    console.log(arr.join(' '));

    【讨论】:

      猜你喜欢
      • 2017-02-12
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      相关资源
      最近更新 更多