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

如何从JSON对象提取唯一艺术家名称至独立列表?JS新手求助

提取唯一艺术家名称的实现方法

下面给你两种适合新手的实现方式,能轻松从给定的对象里提取出唯一的艺术家名称,最终得到你想要的Nirvana, Pearl Jam格式:

方法一:利用ES6的Set自动去重(简洁高效)

这种方法用现代JS特性,代码短且易读:

// 第一步:提取所有专辑的艺术家名称,得到带重复值的数组
const allArtists = artist_list.albums.map(album => album.artist);
// 第二步:用Set去重,再转回数组
const uniqueArtists = [...new Set(allArtists)];
// 第三步:把数组转成逗号分隔的字符串
const result = uniqueArtists.join(', ');

console.log(result); // 输出:Nirvana, Pearl Jam
  • map:遍历albums数组,逐个取出每个专辑的artist字段,生成新数组
  • Set:JS的集合类型,自动过滤重复元素,把带重复的数组转成Set后就只剩唯一值
  • ...扩展运算符:把Set转回普通数组,方便后续处理
  • join(', '):把数组元素用逗号加空格连接成字符串

方法二:手动遍历判断(适合理解基础逻辑)

如果想搞清楚底层逻辑,可以用这种手动循环的方式:

// 创建空数组,用来存唯一的艺术家名称
const uniqueArtists = [];

// 遍历所有专辑
for (let i = 0; i < artist_list.albums.length; i++) {
  const currentArtist = artist_list.albums[i].artist;
  // 判断当前艺术家是否已经在数组里,不在就添加进去
  if (!uniqueArtists.includes(currentArtist)) {
    uniqueArtists.push(currentArtist);
  }
}

// 转成逗号分隔的字符串
const result = uniqueArtists.join(', ');

console.log(result); // 输出:Nirvana, Pearl Jam
  • for循环:逐个遍历albums里的每个专辑对象
  • includes:检查当前艺术家名称是否已经在uniqueArtists数组中,避免重复添加
  • push:把不重复的艺术家名称添加到数组里

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 19:15:38