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

寻求支持嵌套分区与响应式的JavaScript数据结构实现方案

寻找支持响应式嵌套分区与增量汇总的JavaScript数据结构

我需要设计一个JavaScript数据结构/类,满足以下需求:

  • 基于多个等长数组,构建至少一层深度的嵌套分区结构
  • 支持对其他同长度数组,通过类似reduce的函数,分别在内层(嵌套)和外层(非嵌套)分区中完成值汇总

我设想的API示例如下:

const arr1 = [1, 0, 0, 1, 1, 0, 0, 1];
const arr2 = ["A", "A", "A", "B", "C", "B", "B", "A"];
const arr3 = [100, 250, 100, 300, 150, 250, 300, 150];

const partition = Partition.from(arr2)
  .nest(arr1)
  .reduceWith({arr3}, (a, b) => a + b, 0);

partition.outer() // { "A": { arr3: 600 }, "B": { arr3: 850 }, "C": { arr3: 150 } }
partition.inner() // { "A0": { arr3: 350 }, "A1" : { arr3: 250 }, "B0": { arr3: 550 }, "B1": { arr3: 300 }, "C1": { arr3: 150 } }

// 上面用"A0""B1"这类字符串做键是为了更直观,实际中我可能用JSON字符串(比如"{\"arr2\":\"B\",\"arr1\":0}")作为分区ID,避免歧义

关键要求:嵌套数组的具体值会随时间动态变化(我使用Solid JS,因此需要支持响应式),且内层分区的变化可能更频繁,必须保证仅在必要时重新计算汇总值,避免不必要的性能损耗。

请问有合适的实现思路或成熟模式可以参考吗?

内容的提问来源于stack exchange,提问作者Adam B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 06:12:36