Я пишу функцию, которая извлекает данные из базы данных SQLite, анализирует информацию в массив Javascript и форматирует ее в формате, ожидаемом приложением, над которым я работаю, и помещает новые отформатированные данные в массивбыть отправленным на наш фронтэнд.Однако всякий раз, когда я получаю информацию о внешнем интерфейсе, я получаю правильную длину массива, но он использует последнее значение массива.
Вот тело моей функции
РЕДАКТИРОВАТЬ: Ради примера я использую библиотеку better-sqlite3.
var optionalParams = "";
if(area != null){
optionalParams = ` WHERE areaId = ${area}`
}
let itemsToSend = [];
for (const driver of drivers){
let table = `TABLE`
let dbReturn = database.prepare(`SELECT * FROM ${table}${optionalParams}`).all();
for(const row of dbReturn){
let item = {...driver}
item.name = row.name;
item.id = row.id;
item.area = row.name
item.instanceId = row.instanceId;
itemsToSend = [...itemsToSend, item];
}
};
return itemsToSend;
Я провел достаточно исследований, чтобы понять, что это должно работать последовательно, поэтому кто-то может объяснитьмне почему это не работает так, пожалуйста?