Javascript Array только с использованием последнего значения итерации
Я пишу функцию, которая извлекает данные из базы данных SQLite, анализирует информацию в массив Javascript и форматирует ее в формат, который ожидает приложение, над которым я работаю, и помещает новые отформатированные данные в отправляемый массив к нашему входу. Однако всякий раз, когда я получаю информацию о внешнем интерфейсе, у меня правильная длина массива, но он использует последнее значение массива.
Вот тело моей функции
РЕДАКТИРОВАТЬ: Ради примера, я использую библиотеку лучше-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;
Я провел достаточно исследований, чтобы понять, что это должно работать последовательно, поэтому кто-то может объяснить мне, почему это не работает так, пожалуйста?