将对象数组的值拼接成句子
Posted
技术标签:
【中文标题】将对象数组的值拼接成句子【英文标题】:Stitch values of an object array into a sentence 【发布时间】:2021-08-29 02:26:57 【问题描述】:我有一个如下所示的 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"
,
...
]
如何根据position
键从translation
键构建一个句子。例如,预期的输出应该是这样的对象:
line: "Then something"
【问题讨论】:
能否也显示完整的预期对象 【参考方案1】:首先你需要对你的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)
【讨论】:
谢谢!这很有帮助。 (一旦我超过 15 次,我会投票赞成 :)) 很高兴它对你有帮助:)。也请把它标记为可以激励我的答案! 在这种情况下不要使用map
,而是使用reduce
以上是关于将对象数组的值拼接成句子的主要内容,如果未能解决你的问题,请参考以下文章