JavaScript: 如何从倒排索引重建文本?

JavaScript: How to rebuild text from an inverted index?

我有一个格式如下的倒排索引:

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

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

您可以使用两个 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(' '))

这是一个开始的例子。

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(' '));