У меня есть сервер webpack dev. В нем я объявляю массив, содержащий некоторые данные. В одном из конечных пунктов я копирую эти данные, манипулирую копией, а затем возвращаю копию. Вот код:webpack-dev-server, похоже, не уважает array.slice (0)?
const data = [{
title: 'Title 1',
history: [{startTime: 1}, {startTime:5}]
},
{
title: 'Title 2',
history: [{startTime:3}, {startTime:7}]
}];
module.exports =() => {
app.use(send.json())
.use(connectRoute(function (router) {
router.get('endPoint/:fromDate/:toDate', function(req, res, next){
let copyOfData = data.slice(0);
copyOfData.forEach((dataPoint)=>{
let startTime = moment(req.params.fromDate,'X');
let endTime = moment(req.params.toDate,'X');
let filteredHistory = dataPoint.history.filter((event)=>{
let eventTime = moment(event.startTime, 'X');
return (eventTime.isAfter(startTime) && eventTime.isBefore(startTime));
});
});
res.end(res.json(copyOfWorkflows));
}
}
}
Проблема заключается в том, что после первого запроса, моя история событий равна нулю, даже если есть события в данных, которые должны соответствуют критериям фильтра. Из того, что я могу сказать, только data.slice(0)
получает вызов в первый раз. После этого он просто использует copyOfData
, что не то, что я хотел бы сделать.
Я пытаюсь, чтобы он хранил исходные данные, скопируйте эти данные. Сделайте мою работу над копией, а затем верните копию.