Javascript Array только с использованием последнего значения итерации - PullRequest
0 голосов
/ 11 декабря 2018

Я пишу функцию, которая извлекает данные из базы данных 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;

Я провел достаточно исследований, чтобы понять, что это должно работать последовательно, поэтому кто-то может объяснитьмне почему это не работает так, пожалуйста?

...