首页 > 解决方案 > 从子对象中获取多个ID

问题描述

我正在尝试从 JSON 对象中获取多个 id 并在 useffect 中使用它们。

我不知道如何加入每个 track.id 用逗号分隔它们以进行 api 调用。

有谁知道如何解决这个问题?

https://i.stack.imgur.com/FWV1x.png

^^JSON 的样子

useEffect(() => {

        console.log(track)


        fetch('https://api.spotify.com/v1/tracks?ids=' + track.id, {
            headers: { 'Authorization': 'Bearer ' + access_token }
        }).then(response => response.json())

            .then((data) => {
                console.log('Spotify Api Call - Music Page', data)
                const tranformedTracks = data.tracks.map(trackData => {
                    console.log(trackData)
                    return {
                        albumCover: trackData.album.images[0].url,
                        trackName: trackData.name,
                        artistName: trackData.album.artists[0].name,
                    };
                });
                setTopTracks(tranformedTracks);
                setTracksLoaded(true);
            });

    }, []);```

标签: javascriptreactjsspotify

解决方案


您可以使用 map 函数来获取所有 id 并使用 join 方法用逗号将它们连接起来,您的解决方案是

let ids = trackData.map((track) => track.id).join(",")
console.log(ids) // Output : 1,2,3,4 :)

推荐阅读