如何编写递归方法提取嵌套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ü
相关产品推荐
相关产品推荐

