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

循环语句问题:如何在字符串两侧交替添加*符号

问题分析与修正代码

你的代码存在几个关键问题:

  • 函数参数str和n被重新赋值覆盖,完全忽略了传入的参数,逻辑本末倒置
  • 把n赋值为字符串"*",后续n++会得到NaN,循环条件n<=5根本不成立
  • 没有实现**交替在字符串两侧添加***的逻辑,只是单纯往字符串末尾追加

下面是修正后的代码,用do..while循环实现交替添加的需求:

function padIt(str, n) {
  let count = 1; // 记录当前是第几次添加
  do {
    if (count % 2 === 1) {
      str = "*" + str; // 奇数次在左侧添加
    } else {
      str += "*"; // 偶数次在右侧添加
    }
    count++;
  } while (count <= n);
  return str;
}

// 测试示例:调用padIt("a",5)会返回"***a**"
console.log(padIt("a", 5));

逻辑说明

  1. 用count变量追踪当前是第几次添加操作,从1开始计数
  2. 奇数次循环时往字符串左侧加*,偶数次往右侧加*,实现交替效果
  3. 循环执行n次,直到count超过n终止

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:10:37