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

如何根据指定键筛选JSON取值并去除重复数据

解决方案

你可以使用以下通用JavaScript方法实现,无论用户选中properties下的哪个键,都能返回对应去重后的可选值列表:

function getUniqueValues(selectedKey) {
  // 提取所有对应属性的值
  const valueList = initialdata.map(item => {
    // 容错处理:不存在该属性时返回undefined
    return item.properties?.[selectedKey];
  }).filter(Boolean); // 过滤掉不存在属性的空值
  // 利用Set去重后转回数组
  return [...new Set(valueList)];
}

// 调用示例:用户选中Region时
const regionOptions = getUniqueValues('Region');
console.log(regionOptions); // 输出 ["US", "UK"]

// 其他场景测试
console.log(getUniqueValues('SubRegion')); // 输出 ["US-1", "US-2", "UKK"]
console.log(getUniqueValues('SiteID')); // 输出 ["234", "235", "121"]

逻辑说明

  • 首先通过map遍历所有数据项,提取选中属性对应的取值,同时加入可选链操作符?.做容错,避免属性不存在时报错
  • 用filter(Boolean)过滤掉无效的空值/undefined值
  • 利用ES6的Set数据结构自动去重的特性,将提取到的数组转成Set后再转回普通数组,即可得到无重复的可选值列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:36:00