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

如何将Inquirer多选输出格式化为Markdown列表(README生成器)

问题与解决方案

问题描述

我正在为学校项目制作README生成器,Inquirer的复选框提示功能正常。调用以下复选框提示的languages数据时:

{
  type: "checkbox",
  name: "languages",
  message: "What languages/technologies were used to create this project?",
  choices: ["HTML", "CSS", "JavaScript", "Node.JS"],
}

使用模板字面量插入后,Markdown中显示为无空格的逗号分隔字符串:

## Technologies Used
${data.languages}

实际渲染效果:

## Technologies Used
HTML,CSS,JavaScript,Node.JS

我希望将其格式化为Markdown列表,请问该如何实现?


解决方法

Inquirer复选框返回的data.languages是一个数组,你可以利用数组的map()方法将每个元素转换为Markdown无序列表项,再用join('\n')拼接成多行字符串。

基础实现

修改模板字面量部分:

## Technologies Used
${data.languages.map(lang => `- ${lang}`).join('\n')}

渲染后会生成标准的Markdown列表:

## Technologies Used
- HTML
- CSS
- JavaScript
- Node.JS

处理空选项情况

如果需要兼容未选中任何技术的场景,可以添加判断逻辑:

## Technologies Used
${data.languages.length > 0 ? data.languages.map(lang => `- ${lang}`).join('\n') : '- None'}

内容的提问来源于stack exchange,提问作者BarkMulcher

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:57:35