将对象数组的值拼接成句子

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

以上是关于将对象数组的值拼接成句子的主要内容,如果未能解决你的问题,请参考以下文章

数组对象中相同的参数拼接成一个对象

二维数组中按子数组首个元素值去重

数组对象中相同的参数拼接成一个对象

前端 遍历数组对象然后拼接成一句话,包括逗号和空格?

ts 使用数组 拼接成对象展示

数组切分(句子拼接)