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

合并数组值并实现可引用分层计数的技术问询

Hey there! Let's work through this hierarchical counting task for your dataset. First, let's lay out the raw data we're working with:

const dataset = [ 
  "L1-1_L1.0-1_L1.0.0-1", 
  "L1-1_L1.0-2_L1.0.0-1", 
  "L1-1_L1.0-2_L1.0.0-2", 
  "L1-2_L1.0-1_L1.0.0-1", 
  "L1-2_L1.0-1_L1.0.0-2", 
  "L1-3_L1.0-1_L1.0.0-3" 
];
Hierarchical Count Results

Level 1 (Top-level) Counts

  • L1-1: 3 entries
  • L1-2: 2 entries
  • L1-3: 1 entry

Level 2 (Nested under Level 1) Counts

  • Under L1-1:
    • L1.0-1: 1 entry
    • L1.0-2: 2 entries
  • Under L1-2:
    • L1.0-1: 2 entries
  • Under L1-3:
    • L1.0-1: 1 entry

Level 3 (Nested under Level 2) Counts

  • Under L1-1 => L1.0-1:
    • L1.0.0-1: 1 entry
  • Under L1-1 => L1.0-2:
    • L1.0.0-1: 1 entry
    • L1.0.0-2: 1 entry
  • Under L1-2 => L1.0-1:
    • L1.0.0-1: 1 entry
    • L1.0.0-2: 1 entry
  • Under L1-3 => L1.0-1:
    • L1.0.0-3: 1 entry
Reusable Code to Generate Hierarchical Stats

If you want to generate these counts dynamically (so it works even if your dataset grows or changes), here's a JavaScript function that builds a structured stats object and outputs the counts:

function calculateHierarchicalCounts(dataset) {
  const stats = {};

  dataset.forEach(item => {
    // Split each entry into its three hierarchical parts
    const [level1, level2, level3] = item.split('_');

    // Initialize level 1 if it doesn't exist
    if (!stats[level1]) {
      stats[level1] = { count: 0, children: {} };
    }
    stats[level1].count++;

    // Initialize level 2 under level 1 if it doesn't exist
    if (!stats[level1].children[level2]) {
      stats[level1].children[level2] = { count: 0, children: {} };
    }
    stats[level1].children[level2].count++;

    // Initialize level 3 under level 2 if it doesn't exist
    if (!stats[level1].children[level2].children[level3]) {
      stats[level1].children[level2].children[level3] = { count: 0 };
    }
    stats[level1].children[level2].children[level3].count++;
  });

  return stats;
}

// Usage
const hierarchicalStats = calculateHierarchicalCounts(dataset);
console.log(hierarchicalStats);

How This Works

  1. We split each string in the dataset using the underscore _ delimiter to extract the three hierarchical levels.
  2. We build a nested stats object where each level tracks its own count, plus a children object for the next level down.
  3. For every entry, we increment the count at each level, initializing the objects if they don't already exist.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 10:03:46