形成多行插入nodejs-mysql的数组格式
我有一个像下面的对象项目
var item = {"9":"9","22":"22","23":"23","24":"24"};
和variablesvar cart = 23;
和var group = 40;
现在我想以这样的格式形成这些项目,以便像下面那样执行多行MySQL插入
var sql = "INSERT INTO test (item, cart, group) VALUES ?"; var values = [ [9, 23, 40], [22, 23, 40], [23, 23, 40], [24, 23, 40] ];
我需要形成上面的数组格式来在节点js中执行多行插入。 如何使上述格式?
您可以映射对象的值并返回一个包含数字的数组。
var item = { 9: "9", 22: "22", 23: "23", 24:"24" }, cart = 23, group = 40, array = Object.keys(item).map(function (k) { return [+item[k], cart, group]; }); console.log(array);
使用Array.prototype.map :
var values = Object.keys(item).map(k => [k, cart, group]);