Конкатенация строк. Что я делаю не так и как это работает? (Начальный) - PullRequest
0 голосов
/ 11 апреля 2020

Так что в приведенном ниже коде все работало нормально, пока я не приступил к своему первому утверждению if. Я продолжал получать неправильные результаты в тесте, потому что у меня было (crazyString = char + crazyString) вместо того, что у меня есть ниже. Теперь я понимаю, что мог бы использовать + =, но мне было просто интересно, почему порядок добавления настолько строг в javascript.

const crazyCaps = (origString) => {
   let crazyString = '';
   for (let i = 0; i < origString.length; i++) {
      let char = origString[i];
      if (i % 2 === 1) { 
         char = char.toUpperCase();
         crazyString = crazyString + char;
      } else {
         crazyString = crazyString + origString[i];
      }    
   }
   return crazyString;
};

1 Ответ

0 голосов
/ 11 апреля 2020

'+' со строками - это конкатенация, а не сложение

Пример:

  • 'A' + 'B' становится AB
  • 'B' + ' A 'становится BA // не AB !!

const crazyCaps = (origString) => {
  let crazyString = '';
  for (let i = 0; i < origString.length; i++) {
    let char = origString[i];
    if (i % 2 === 1) {
      char = char.toUpperCase();
      crazyString = char + crazyString;
      // You are pre-pending Capital Letter to output String
    } else {
      crazyString = crazyString + origString[i];
    }
    // Iterations for an input of krishna: 
    // <Char> <crazyString>
    // k
    // Rk
    // Rki
    // SRki
    // SRkih
    // NSRkih
    // NSRkiha
  }
  return crazyString;
};

console.log(crazyCaps("krishna"));
...