You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript新手求助:按userId分组专辑及合并JSON数据问题

问题解决方案

1. 按userId分组专辑

如果用原生JavaScript,无需依赖第三方库,用Array.prototype.reduce()就能实现分组:

// 假设你的专辑数据是albums数组,结构示例:{ userId: 1, id: 1, title: "示例专辑" }
const groupedByUserId = albums.reduce((acc, album) => {
  if (!acc[album.userId]) {
    acc[album.userId] = [];
  }
  acc[album.userId].push(album);
  return acc;
}, {});

要是之前尝试的是lodash的_.groupBy(),先确认lodash已正确安装导入,正确用法是:

const groupedByUserId = _.groupBy(albums, 'userId');

2. 合并photos JSON文件

场景1:将photos关联到对应专辑

假设photos数组结构为{ albumId: 1, id: 1, title: "示例图片", url: "xxx" },要把图片合并到所属专辑中:

// 先按albumId分组photos
const photosByAlbumId = photos.reduce((acc, photo) => {
  if (!acc[photo.albumId]) {
    acc[photo.albumId] = [];
  }
  acc[photo.albumId].push(photo);
  return acc;
}, {});

// 把photos合并到对应专辑
const albumsWithPhotos = albums.map(album => ({
  ...album,
  photos: photosByAlbumId[album.id] || [] // 无对应图片时返回空数组
}));

场景2:直接合并两个数组

如果只是要把两个JSON的数组内容合并成一个:

const combinedData = [...albums, ...photos];

内容的提问来源于stack exchange,提问作者Sasha 1981

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 05:18:16