我有一个如下所示的 api 响应:
"payload": {
"paragraph": {
"id": 2692,
"words": [
{
"id": 21679,
"position": 2,
"translation": {
"text": "something",
"language_name": "english"
},
"transliteration": {
"text": "another",
"language_name": "english"
}
},
{
"id": 21671,
"position": 1,
"translation": {
"text": "Then",
"language_name": "english"
},
"transliteration": {
"text": "fa",
"language_name": "english"
}
},
...
]
}
}
如何基于 translation
键从 position
键构建句子。例如,预期的输出应该是一个对象,如:
{line: "Then something"}
答案 0 :(得分:2)
首先,您需要对 positions
进行排序,然后您可以使用如下地图加入它们。
let words = [
{
"id": 21679,
"position": 2,
"translation": {
"text": "something",
"language_name": "english"
},
"transliteration": {
"text": "another",
"language_name": "english"
}
},
{
"id": 21671,
"position": 1,
"translation": {
"text": "Then",
"language_name": "english"
},
"transliteration": {
"text": "fa",
"language_name": "english"
}
}
]
let word = words
.sort((a, b) => a.position - b.position)
.reduce((word, w) => `${word} ${w.translation.text}`, "");
console.log(word)