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

如何编写递归方法提取嵌套data数组中最内层的目标item集合

递归提取最内层节点实现方案

实现思路:遍历传入的数组项,判断当前项是否存在有效items子数组:若存在则递归处理子数组,若不存在则说明是最内层节点,直接存入结果集即可。

代码实现

function recursiveMethod(items) {
  const result = [];
  for (const currentItem of items) {
    // 存在有效子items数组时递归处理
    if (Array.isArray(currentItem.items) && currentItem.items.length > 0) {
      result.push(...recursiveMethod(currentItem.items));
    } else {
      // 无有效子数组,为最内层节点,直接加入结果
      result.push(currentItem);
    }
  }
  return result;
}

效果验证

使用你提供的示例data数组调用该方法:
const groupedItems = recursiveMethod(data)
返回结果完全符合你的预期:
[{"Ref": 1,"ApprovedReserveQuantity": 1},{"Ref": 2,"ApprovedReserveQuantity": 1}]

该方法支持任意层级的嵌套结构,无需固定嵌套层数即可完成最内层节点的收集。

内容的提问来源于stack exchange,提问作者Bilal Tüylü

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:06:06