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

统计对象数组中排除k值重复的符合v条件的记录数量

解决方案

实现思路

  • 第一步:过滤出所有v值等于指定目标值的对象
  • 第二步:提取过滤结果中所有对象的k字段值,通过自动去重的结构完成相同k值的去重
  • 第三步:统计去重后k值的数量,即为最终统计结果

代码实现(JavaScript)

// 原始对象数组
const originArr = [ 
   {k:"a",v:"y"},
   {k:"b",v:"o"},
   {k:"d",v:"y"},
   {k:"b",v:"o"}
];

// 封装统计方法,入参为要匹配的v值
function getCount(targetV) {
  // 筛选符合v值的记录,提取k值存入Set自动去重,返回去重后的数量
  const uniqueKSet = new Set(
    originArr.filter(item => item.v === targetV).map(item => item.k)
  );
  return uniqueKSet.size;
}

// 示例测试
console.log(getCount('y')); // 输出 2,匹配示例结果
console.log(getCount('o')); // 输出 1,匹配示例结果

逻辑说明

用filter方法提前筛除不匹配v值的无关数据,减少后续处理的计算量;利用Set结构元素唯一的特性自动完成k值去重,不需要手动编写循环判断逻辑,代码简洁且执行效率更高,直接读取Set的size属性即可拿到最终计数结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:54:03