РЕДАКТИРОВАТЬ: Я понял это, ребята.То, что вам нужно сделать, это объединить массив в один массив.
Итак: [["string", 1, 2, "string"], ["string", 3, 4, "string"]]
Становится: ["string, 1, 2, "string", "string", 3, 4, "string"]
Вам все еще нужно разделить значения вINSERT INTO
op, я использовал для этого функцию map
, как описано в руководствах.
let artistPlaceholders = artistRecords.map(() => "(?, ?, ?, ?)").join(', ');
let artistQuery = "INSERT INTO artists (artist, numSongs, numAlbums, picture) VALUES " + artistPlaceholders;
let flatArtist = [];
artistRecords.forEach((arr) => { arr.forEach((item) => { flatArtist.push(item) }) });
db.serialize(function(){
db.run(artistQuery, flatArtist, function(err){
if(err) throw err;
});
});
Где artistRecords
- это массив в виде:
[["string", 0, 0, "string"], ["string", 0, 0, "string"], [...]]
Если у вас есть массив с несколькими уровнями вложенности, вам нужно изменить функцию выравнивания.