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

JavaScript使用Array.join实现hashtag_it函数给数组元素加#失效问题

问题修复说明

你当前的代码存在3个直接导致结果不符合预期的问题:

  • 函数内部硬编码赋值覆盖了入参:函数体第一行写死my_array = ['programming','code'],会直接替换掉调用时传入的数组参数,完全没有使用外部传入的值。
  • Array.join的用法逻辑错误:join(参数)的作用是将数组元素用传入的参数作为间隔符拼接为字符串,传入#作为参数时,只会在两个数组元素中间插入#,输出结果为programming#code,无法实现给每个元素前加#前缀的效果。
  • 函数没有设置返回值:当前仅在函数内部执行了打印操作,没有返回处理后的字符串,外层的console.log(hashtag_it())会额外输出undefined。

正确实现代码

先给数组的每个元素拼接#前缀,再用逗号作为分隔符拼接为目标字符串,同时将结果return出去,调用时传入需要处理的数组即可:

function hashtag_it(my_array) {
  // 遍历数组为每个元素添加#前缀
  const prefixedArr = my_array.map(item => `#${item}`)
  // 用逗号拼接为最终字符串并返回
  return prefixedArr.join(',')
}

// 调用时传入目标数组作为参数
console.log(hashtag_it(['programming', 'code']))
// 输出结果:#programming,#code

如果想要更简洁的写法,不需要遍历数组也能实现同等效果:

function hashtag_it(my_array) {
  return '#' + my_array.join(',#')
}

该写法的逻辑是:先用,#作为间隔符拼接数组得到programming,#code,再在字符串头部补一个#,刚好匹配要求的输出格式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 04:27:25