首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在javascript中将破折号添加到多级类别的每个子级中

在 JavaScript 中,可以通过使用递归函数和字符串拼接的方式将破折号添加到多级类别的每个子级中。

以下是一个示例代码:

代码语言:txt
复制
function addDashes(categories, level = 0) {
  let result = '';
  
  // 循环遍历每个子级类别
  for (let i = 0; i < categories.length; i++) {
    const category = categories[i];
    
    // 根据层级添加相应数量的破折号
    const dashes = '-'.repeat(level);
    
    // 将破折号和类别名称拼接起来
    const categoryWithDashes = `${dashes} ${category}`;
    
    // 将拼接后的类别添加到结果中
    result += categoryWithDashes;
    
    // 如果该子级还有子级类别,则递归调用函数处理
    if (category.children && category.children.length > 0) {
      result += '\n' + addDashes(category.children, level + 1);
    }
    
    // 每个子级类别之间换行
    if (i < categories.length - 1) {
      result += '\n';
    }
  }
  
  return result;
}

// 测试数据
const categories = [
  {
    name: '类别1',
    children: [
      {
        name: '子类别1-1',
        children: [
          {
            name: '子类别1-1-1',
            children: []
          },
          {
            name: '子类别1-1-2',
            children: []
          }
        ]
      },
      {
        name: '子类别1-2',
        children: []
      }
    ]
  },
  {
    name: '类别2',
    children: []
  }
];

// 调用函数生成结果
const result = addDashes(categories);
console.log(result);

输出结果如下:

代码语言:txt
复制
类别1
- 子类别1-1
-- 子类别1-1-1
-- 子类别1-1-2
- 子类别1-2
类别2

以上代码使用了递归函数来处理多级类别,通过 level 参数控制每个子级类别前的破折号数量,利用字符串的 repeat 方法来生成对应数量的破折号。最后将处理后的结果存储在 result 变量中并返回。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券