lxinr/interview-question

如何把一个字符串的大小写取反(大写变小写小写变大写)

lxinr opened this issue · 0 comments

lxinr commented

转数组,再单个判断处理

function processString(str) {
  if(typeof str !== 'string') return
  let strArr = str.split('')
  return strArr.reduce((acc, cur) => acc += (cur === cur.toUpperCase() ? cur.toLowerCase() : cur.toUpperCase()))
}

正则替换

function processString(str) {
  return str.replace(/[a-zA-Z]/g, match => {
    return /[a-z]/.test(match) ? match.toUpperCase() : match.toLowerCase()
  })
}