0

我正在尝试遍历对象数组并将它们作为道具分配给 react Plyr 组件,这就是我目前正在做的事情,我只是将第一个对象值作为道具传递给组件,就像这样。

    if (movie) {
        console.log(movie.video_info[0].src)
        videoSrc = {
            type: 'video',
            title: 'Example title',
            sources: [
                {
                    size: movie.video_info[0].quality,
                    src: movie.video_info[0].source
                }
            ]
        }
    };

这是我的 api 响应

"video_info": [
    {
        "quality": "1080",
        "video_url": "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
        "id": "1111"
    },
    {
        "quality": "720",
        "video_url": "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4",
        "id": "1112"
    }
]

这是 plyr 对象的结构链接到 plyr io 的内容

我还是 React 的新手,我确实尝试使用 for each 和 map 但我无法更改键名,基本上我想存储来自 api 响应的键值并将它们分配给自定义键。

4

2 回答 2

1

你的意思是。映射一系列源?

let sources = movie.video_info
                   .map((vidInfo)=>({
                       size: vidInfo.quality,
                       src: vidInfo.source
                     }))

let videoSrc = {
            type: 'video',
            title: 'Example title',
            sources
        }
于 2021-12-07T18:27:30.440 回答
1

你想这样做吗?

let a = movie.video_info.map( v => {
    return {
        type:'video',
        title: 'Example title',
        sources: [{
            size: v.quality,
            src: v.video_url
        }]
    }
})

console.log(a)

于 2021-12-07T18:28:06.587 回答