将JavaScript字符串大小写互换

一个有趣的小练习是创建一个字符串,将其中的大写字符转换为小写字符,反之亦然。这通常被称为互换大小写。虽然这是一个相对简单的练习,但它可以是练习各种JavaScript方法和技巧的好地方。

首先,我们需要将字符串转换为一个字符数组,可以使用扩展运算符(...)来实现。

然后,我们可以使用String.prototype.toLowerCase()和三元运算符(?)来确定每个字符的大小写。根据大小写,我们使用String.prototype.toUpperCase()String.prototype.toLowerCase()将其转换为相反的大小写

最后,我们使用Array.prototype.join()将字符组合成一个字符串。

const swapCase = str =>
  [...str]
    .map(c => (c === c.toLowerCase() ? c.toUpperCase() : c.toLowerCase()))
    .join('');

swapCase('Hello world!'); // 'hELLO WORLD!'

[!NOTE]

并不一定有swapCase(swapCase(str)) === str。这是因为该函数没有考虑特殊情况,并假设字符串中的所有字符都是大写或小写。