У меня есть небольшое приложение для преобразования данных, которое преобразует xml в json, затем сохраняет его в БД mySql, используя node, express & node-mysql
, оно работает очень хорошо, пока яделать большие пакеты, это не имеет ничего общего с модулем или mySql, но кажется, что в узле происходит какая-то хитрость.
Чтобы отформатировать данные для вставки, мне нужно иметь данные в базовом массивепоэтому я делаю что-то вроде этого.
var keys = ['first_name', 'last_name', 'mi'], values, que, i, q;
values = []
que = []
i = 0
// data is a json array with corresponding keys
while(i < data.length){
values.length = 0
q = 0
for(key in data[i]){
values.push(data[i][keys[q]]);
q += 1
}
que.push(values)
verifyInsert(i)
i += 1
}
Когда я делаю это с одной записью, приложение прекрасно работает, но когда я делаю несколько, я получаю последнюю запись много раз.
Нигде нетчто я перезаписываю que, но по какой-то причине после каждой итерации все значения в que меняются.В обычном javascript я все время использую этот метод для создания массива с переменной многократного использования, затем сохраняю экземпляр в другом месте.Уничтожьте значения в переменной многократного использования values.length = 0
.
Этот метод не работает в узле?потому что кажется, что я храню переменную, а не экземпляр переменной.