javascript - 在 n 级嵌套数组中对对象值进行分组
问题描述
我有一个这样的数组。如何将所有子 ID 分组到一个数组中?我下面的解决方案不是给我所有的子元素。错误在哪里?并建议我任何其他方式
const data = {
name: '1',
id: '05f770d5',
child: [
{
name: '2',
id: '0ecfc8e1',
child: [
{
name: '3',
id: '2e1eb75c',
child: [],
},
],
},
{
name: '1c',
id: 'b9ee9864',
child: [
{
name: '8',
id: '575f4760',
child: [],
},
],
},
],
};
let array1 = [];
function sumChild(data) {
data.child.forEach((data) => {
array1.push(data.id);
sumChild(data?.child[0]);
});
return array1;
}
sumChild(data);
console.log(array1);
解决方案
function sumChild(data) {
data.child?.forEach((data) => {
array1.push(data.id);
sumChild(data);
});
return array1;
}
推荐阅读
- c++ - 为什么 std::common_iterator 只是 std::forward_iterator?
- asp.net - SAML 身份提供者身份验证
- regex - 正则表达式重叠
- python - 我使用 Pycharm,当我为电机代码运行时,我得到错误说应该安装 PRi.GPIO,当我尝试安装时我得到错误
- ios - 如何使用代码更改表格的背景颜色?WatchKit
- javascript - 如何在此代码中使用循环,使其更短并动态更新 UI?
- java - Java 中的加密和 Flutter 中的解密 (AES-256)
- capacitor - 电容器添加插件仅适用于 1 个平台
- java - 如何将 HashMap 的 get 函数与空值进行比较?
- javascript - ChartJs 3.2.1 时间刻度以错误的 Startdate 开头