未知数量对象的JS数组递归

理查德

我在 JS 中有一个带有嵌套对象的对象,并且有一个具有相同名称的数组的对象,并且可以使用不同的值多次弹出。我只想将每个数组的长度相加,直到该对象丢失为止。

例如:

0 : {id: 1, importantObject: {id: 1, {importantObject: {id: 1, importantObject:{...},}, somethingElse: 23}, something: 'test'}

1 : {id: 2, importantObject: {id: 24, {importantObject: {id: 55, importantObject:{...},}, somethingElse: 92}, something: 'test'}

等等..

我尝试执行以下操作:

const getCount = (a) => {
    let count = 0;
    a.map((b) => {
      if (b.importantObject) {
        count += b.importantObject.length;
        getCount(b.importantObject)
      }
    });
     return count;
  }

但是,我没有得到正确的计数。我究竟做错了什么?

巴尼

进行递归时,您必须使用递归调用返回值

const getCount = (a) => {
  let count = 0;
  for (let b of a) {
    if (b.importantObject) {
      count += b.importantObject.length;
      count += getCount(b.importantObject); // here
    }
  }
  return count;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过函数向数组添加未知数量的对象

如何合并未知数量的数组

PHP数组未知数量的值

Mustache JS,如何创建带有未知数量的子列表的递归列表?

Java - 获取用户输入以创建未知数量的类对象/数组/数组列表

通过遍历未知数量的数组来创建JavaScript对象的笛卡尔积(powerset?)

合并数组中未知数量的子数组

在Javascript中按日期对未知数量的对象进行排序

创建未知数量的对象实例的有效方法

循环遍历对象和未知数量的孩子

如何使用scanf()输入未知数量的对象?

在python中加载未知数量的腌制对象

如何在Powershell中实例化未知数量的对象?

如何使用LINQ对未知数量的数组元素求和?

在数组中存储未知数量的数字

将未知数量的表单域对解析为Javascript数组

将未知数量的参数传递给JS函数

遍历未知数量的尺寸

使用未知数量的按钮

传递未知数量的参数

使用SAX解析具有未知数量的递归的XML结构

如何正确写入多维字符数组未知数量的值但固定数量的字符

bash for未知数组循环

Angular 8 将未知数量的对象键映射到模型中

如何在Python动画函数中返回未知数量的对象

创建时将未知数量的可观察对象合并/合并

Terragrunt或Terraform使用未知数量的键/值在变量中定义对象

如何使用 Jackson 编组包含未知数量的 KV 对的 JSON 对象列表

如何使用ngFor在Angular中遍历未知数量的嵌套json对象?