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

求助:JavaScript实现字符串大小写互换功能遇到问题(附代码)

问题排查与正确实现方案

你的代码逻辑出现了偏差——当前的判断是检查整个字符串是否完全小写,然后决定把整个字符串转成全大写或全小写,这和你想要的「逐个字符反转大小写」的需求不匹配。

举个例子,对于 "oMaR",因为它不是全小写字符串,所以你的代码会直接把它转成全小写的 "omar",而不是你期望的 "OmAr"。

修正后的代码

let friends = [ "oMaR", "mOhaMed", "tAwFIk", "aBdO", "OmrAn", "MoHanD", "AbdOlLaH" ];
let result = friends.map(name => {
  // 将字符串拆分为单个字符数组,逐个处理大小写反转
  return name.split('').map(char => {
    // 对每个字符单独判断:如果是大写则转小写,反之转大写
    return char === char.toUpperCase() ? char.toLowerCase() : char.toUpperCase();
  }).join(''); // 将处理后的字符数组重新拼接为字符串
}).join(' '); // 将所有处理后的名字用空格连接

console.log(result);
// 输出结果: OmAr MohaMeD TaWfiK AbDo OMrAn mOhAnD aBDoLlAh

代码解释

  1. 拆分字符:用 split('') 将每个名字拆成单个字符的数组,这样我们就能对每个字符单独处理。
  2. 逐个反转大小写:对每个字符判断,如果它等于自身的大写形式(说明是大写字符),就转成小写;否则转成大写。
  3. 重新拼接:处理完所有字符后,用 join('') 把字符数组变回完整的名字字符串,最后再用 join(' ') 把所有名字连接成空格分隔的字符串。

这样就能完美实现你想要的「字符串中大写转小写、小写转大写」的功能啦!

内容的提问来源于stack exchange,提问作者مår Tåwfêk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 06:37:32