2017-05-08 80 views

回答

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

+0

谢谢,它的工作一种享受。 –

+0

不客气。 –

+0

更简化的答案。 – Pugazh

0

下面是一个例子开始。

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

+0

谢谢,这工作得很好。 –