Функция map
обычно используется для преобразования коллекции и сохранения результатов, например:
var squares = [2, 3, 4].map(x => { return x * x });
// result is squares = [4, 9, 16]
Здесь больше подходит функция forEach
, так как вы просто хотите l oop по массиву и не заботится о сохранении преобразования.
Затем, когда внешний l oop завершается, ваша функция может вернуть newData
export const filterByDateTimeRange = (data=[{}], timeKey=[], startTime=moment(), stopTime=moment()) => {
let newData = [];
let i = 0;
for(const item of data) {
let time;
let index = 0
timeKey.forEach(key => { //changed to a forEach loop
time ? time = time[key] : time = item[key];
index++
if(index === timeKey.length) {
if(moment(time).isBetween(startTime, stopTime, undefined, '[)')) {
newData.push(item)
};
i++;
if(i === data.length) {
console.log(newData);
}
}
});
}
return newData; //add the return after your loop finishes
}