Я должен согласиться, что 1-я реализация, которую вы написали, кажется более интуитивной, однако, 2-й метод может быть написан по-другому.
При первом вызове new Array(53)
вы создаете массив из 53 элементов. Затем, вызвав .map((_, index) => {})
, вы получите доступ к индексной переменной (используя _
для item
, так как в любом случае undefined
). Вам не нужно клонировать новый массив, распространяя его, поэтому простое использование этого кода будет работать для вас:
const filters = new Array(53).map((_, index) => ({
text: getStartDate(index, new Date().getFullYear()),
value: getStartDate(index, new Date().getFullYear())
}));