![](/img/trans.png)
[英]Setting the value of a multidimensional object or array property in Javascript
[英]Javascript Array of object value into multidimensional array
我正在使用NodeJS学习expressJS。
我试图将多个行插入到mySQL表中。 由于批量插入查询需要以下数据
[["a",1], ["b",2], ["c",3]]
如何将对象数组转换为这种形式? 这是我的JSON发布数据
[
{
"productID" : 1,
"stock": -3
},
{
"productID" : 1,
"stock": 5
}
]
如何将此类JSON对象转换为多维数组?
[[1,-3],[1,5]]
到目前为止,这是我尝试过的。
let promises = []
req.body.map((n) => {
promises.push(new Promise(resolve => {
let { productID, stock } = n
let values = {
PRODUCT_ID: productID,
STOCK: stock
}
let sql = 'INSERT INTO product_stock_history SET ?'
db.connection.query(sql, values, (err, results) => {
if (err) {
console.log("Failed to add stocks record: " + err)
res.sendStatus(500)
return
} else {
res.send("Stock record has been added")
}
})
}))
})
上面的代码可以正常工作,但是最后我对mySQL语法有错误,我认为这与Promise有关。 我对诺言不熟悉:)
Error: Can't set headers after they are sent.
所以我要实现的只是没有Promise的映射。
谢谢
您可以将Object.values
作为参数传递给map
如下所示:
const input = [ { "productID" : 1, "stock": -3 }, { "productID" : 1, "stock": 5 } ] const output = input.map(Object.values) console.log(output)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.