Метод res.json(fund)
вызывается для каждого элемента в fundDetails, а затем вызывается дополнительный метод res.json([])
. Это приводит к тому, что ваш ответ отправляется обратно несколько раз (чего не должно быть, должен использоваться только 1 ответ на один вызов API).
Я предлагаю вам использовать массив и отодвинуть объекты с соответствующим идентификатором порта, а затем отправить массив обратно пользователю, когда операция будет завершена. Честно говоря, вам даже не нужна переменная flag, чтобы проверить, существуют ли средства или нет, поскольку, если их нет, ваш пустой массив данных отправляется обратно.
var data = [];
fundDetails.forEach(fund => {
if (fund.portId === portId)
data.push(fund);
});
res.json(data);