#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)];