Как преобразовать любой тип текста в Toggle Case, используя javascript? - PullRequest
0 голосов
/ 28 января 2020

Как я могу преобразовать верхний, нижний регистр, регистр предложений в регистр переключения с помощью функции javascript? Может ли какой-нибудь орган разработать, как это можно сделать?

Ответы [ 2 ]

1 голос
/ 28 января 2020

Можете ли вы увидеть, помогает ли эта функция в вашем случае


function toggleCase(str) {
  return str.toUpperCase().split(' ').map(function(word) {
    return (word.charAt(0).toLowerCase() + word.slice(1));
  }).join(' ');
}
toggleCase("this sentence is in lower case which is to be converted to toggle case");

Вывод: "ЭТО ПРЕДЛОЖЕНИЕ В НИЖНЕМ ДЕЛЕ, КОТОРЫЙ БУДЕТ СООТВЕТСТВУЮЩИМ СЛУЧАЮ ПЕРЕКЛЮЧЕНИЯ"

0 голосов
/ 28 января 2020

// For this question, Leading lowercase and remaining uppercase chars
const toggleStr = str =>
      str
        .split(" ")
        .map(word => word[0].toLowerCase() + word.slice(1).toUpperCase())
        .join(" ");

// Generic toggle each char based on current char
function toggleChars(str) {
  let updated = "";
  const [upp_start, upp_end, low_start, low_end] = "AZaz"
    .split("")
    .map(x => x.charCodeAt(0));

  for (let i = 0; i < str.length; i++) {
    const charCode = str[i].charCodeAt(0);
    let diff = 0;
    if (charCode >= upp_start && charCode <= upp_end) {
      // change uppercase to lowercase
      diff = low_end - upp_end;
    } else if (charCode >= low_start && charCode <= low_end) {
      // change lowercase to uppercase
      diff = upp_end - low_end;
    }
    updated = updated + String.fromCharCode(charCode + diff);
  }
  return updated;
}

console.log(toggleStr("stack overflow is great"));

console.log(toggleChars("gReAt sTorY"));
...