javascript - 从子对象中获取多个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);
});
}, []);```
解决方案
您可以使用 map 函数来获取所有 id 并使用 join 方法用逗号将它们连接起来,您的解决方案是
let ids = trackData.map((track) => track.id).join(",")
console.log(ids) // Output : 1,2,3,4 :)
推荐阅读
- mysql - 从显示的表和日期格式中选择最小元素的最有效查询
- c# - Visual Studio 2019 是否更改了代码指标的标准?我现在得到两倍多
- javascript - 如何在 VisJS 中基于组收集节点?
- image - qb64 无法使用 _putimage 加载图像,我&
- angular - 只有月份和日期的日期选择器(隐藏年份)
- c# - 为什么在一台服务器上运行我的应用程序时出现 Xml 验证错误,但在我的另一台服务器的系统上却没有?
- sql-server - 一周中某一天的 SSMS 滚动平均值
- python - 如何制作 install.py 以使用 Python 安装多个软件包?
- excel - 无法设置 List 属性。无效的属性数组索引
- java - 我想在单击按钮时创建一个复选框