Ответ
Можно использовать Math.floor(arr.length / 2) для определения середины массива. Пример:
const arr = [1, 2, 3, 4, 5];
const middle = Math.floor(arr.length / 2);
for (let i = 0; i < middle; i++) {
console.log(arr[i]); // 1, 2
}
Для массивов с четным количеством элементов это даст первую половину, для нечетных - элементы до центрального. Например, для [1,2,3,4,5] итерируемся до индекса 2 (не включая), для [1,2,3,4] - до индекса 2.
Ответ 18+ 🔞
А, ну это же классика, блядь! Смотри, как народ обычно голову ломает над этой хуйнёй с серединой массива. А тут всё просто, как три копейки, ёпта!
Вот смотри, берёшь ты этот свой массив, допустим, [1, 2, 3, 4, 5]. Длина у него — пять, да? Делишь на два, получается два с половиной. А индексы, они же, сука, целые должны быть, не могут же они 2.5! Вот тут-то и выручает наш старый добрый Math.floor. Он эту дробь вниз округляет, до целого. Получается индекс 2. И вот ты своим циклом идёшь до этого индекса, не включая его. То есть напечатает тебе 1 и 2. Центральный элемент, тройка, остаётся за бортом, как недоделанный.
А если массив чётный, типа [1,2,3,4], длина — четыре. Делишь — два. Math.floor(2) — это опять два, блядь. И цикл пройдёт по индексам 0 и 1, выдав 1 и 2. То есть ровно первую половину. Красота, ёбана!
const arr = [1, 2, 3, 4, 5];
const middle = Math.floor(arr.length / 2);
for (let i = 0; i < middle; i++) {
console.log(arr[i]); // 1, 2
}
Вот и вся магия, сука. Никаких танцев с бубном. Хуй с горы, а не задача. Главное — запомни, что для нечётной длины центральный элемент в итерацию не попадает, он как бы на границе стоит, пиздопроебибна такая. Всё, вопрос закрыт.