Math.floor() — правильно ли я понимаю?

#string #function

#строка #функция

Вопрос:

В этой функции string .длина / 2 должна = 5/2 или 2,5. Если это так, то причина в том, что string[Math.floor(строка.длина / 2)] возвращает ‘v’ означает ли это, что ‘v’ находится в индексе 2?

 // inputs: a string: 'fever'
// 0 - f
// 1 - e
// 2 - v
// 3 - e
// 4 - r

// outputs: if input string is odd: return char at the midpoint of the string,
or if input string is even: return an empty string.

function findMiddleChar(string) {
// if input string is even
if(string.length % 2 === 0) {
// return an empty string
return '';
// otherwise
} else {
// return input string value at middle index(rounded down to nearest index) return string[Math.floor(string.length / 2)];
}
}
  

Комментарии:

1. Какой язык программирования вы используете? Помните, что ТЕГИ привлекают нужную аудиторию к вашему вопросу, поэтому, если вы используете нерелевантные теги, вы получаете неправильную аудиторию, а нужная вам аудитория не видит этот вопрос.

2. Выберите язык, запустите код и узнайте, правы ли вы! JS: s = "fever"; console.log(s[Math.floor(s.length / 2)]) .

3. «если входная строка нечетная» -> это правда, если входная строка является литералом peculiar ? Пожалуйста, убедитесь, что комментарии точны.

Ответ №1:

Точно. В вашем случае ‘fever’.length равен 5, а Math.floor (‘fever’.length / 2) будет равен 2, и по мере того, как мы будем считать индексы от 0, вы получите элемент, расположенный со 2-м индексом строки, ‘v’.

Ответ №2:

Да, функция возвращает ‘v’, потому что она расположена с индексом 2.

Для целочисленного деления (тип не double) 5/2 = 2

Вы могли бы извлечь оператор Math.foor() in return и получить тот же результат.

return string[(string.length / 2)];