Я упросту свой код и покажу вам пример:
У меня есть этот массив объектов:
let myArray = [{month: 1}, {month: 2}, {month: 4}, {month: 6}];
У меня есть функция, используемая для сопоставления значений этого объекта, к другому объекту:
моя функция отображения:
mapFunction(myObj) {
return {newProperty: myObj.month}
}
, затем я вызываю эту функцию внутри map()
:
let myNewArray = this.myArray.map(mapFunction);
, и это прекрасно работает, она отображает каждое значение myArray
использует мою функцию.
Теперь я хочу добавить дополнительный шаг, если следующая итерация моей карты () не является последовательным месяцем, она должна добавить объект со значением отсутствующего месяца .
Итак, в приведенном выше примере следует добавить 2 новых объекта, {month: 3}, {month: 5}
, поскольку они отсутствуют, но не следует добавлять месяцы после последнего, только те, которые создают "дыры"
Надеюсь, я прояснил ситуацию.
Моя функция отображения должна проверять, равно ли следующее значение month
равному previous + 1
, но мы также должны учитывать, что могут быть большие пропуски, например, пропущенные 2 месяцев подряд, и это должно заполнить их обоих!