Код Middle Списки и производительность обновлено
getItemLayout для списка с разделителями
Условие
Список с элементами одинаковой высоты itemHeight и разделителями высотой separatorHeight между элементами (после последнего разделителя нет). Сверху у списка шапка высотой headerHeight. Напишите itemLayout(index, itemHeight, separatorHeight, headerHeight), возвращающую объект { length, offset, index } для getItemLayout, где offset это расстояние от начала содержимого до верхнего края элемента.
Примеры
itemLayout(0, 72, 1, 0) // {"length":72,"offset":0,"index":0}
itemLayout(1, 72, 1, 0) // {"length":72,"offset":73,"index":1}
itemLayout(10, 72, 1, 0) // {"length":72,"offset":730,"index":10}
Как подойти
Подсказки: 1
- Посчитайте, сколько элементов и разделителей находится выше элемента
index.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.