Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 遍历RowPacketData(从节点js中的mysql查询返回的结果)_Javascript_Mysql_Node.js_Api_Loops - Fatal编程技术网

Javascript 遍历RowPacketData(从节点js中的mysql查询返回的结果)

Javascript 遍历RowPacketData(从节点js中的mysql查询返回的结果),javascript,mysql,node.js,api,loops,Javascript,Mysql,Node.js,Api,Loops,案例是,我有代码从MySQL获取产品名称和图像路径,所以我在查询的返回中获取RowPacketData,如下所示: [ RowDataPacket { Id: 1, Heading: 'Banner 1', Banner_Description: 'This is Banner 1 Description', Image_Name: '1596019684532_command3.png' }, RowDataPacket { Id: 2, H

案例是,我有代码从MySQL获取产品名称和图像路径,所以我在查询的返回中获取RowPacketData,如下所示:

[ RowDataPacket {
    Id: 1,
    Heading: 'Banner 1',
    Banner_Description: 'This is Banner 1 Description',
    Image_Name: '1596019684532_command3.png' },
  RowDataPacket {
    Id: 2,
    Heading: 'Banner 2',
    Banner_Description: 'This is Banner 1 Description',
    Image_Name: '1596019684538_command4.png' } ]
现在,我想将“Image\u Name”附加到类似“var/www/html/Image\u Name”的内容中,并将其发送到前端。为每个图像名称实现此逻辑的最佳方法是什么。
注意:我不想进入循环。

您可能想向前端发送一个JSON数组。因此,您需要一些代码来预先设置每个
Image\u Name
元素的路径。如果您的数组位于
input
中,这样的方法可能会奏效

function prependPath (input, path = 'var/www/html/') {
  for (let i=0; i<input.length; i++) {
    const item = input[i]
    item.Image_Name = path + item.Image_Name
  }
  return input

然后使用类似于
res.json(prependPath(input))
(如果您使用的是Express)的方法调用函数。

您“不想进入循环”吗?请回答您的问题以解释您的限制。程序员通常使用循环来处理数据数组。为什么不在select语句中预先添加路径?像从表中选择“/var/path”+table.image?它发送不必要的数据,但我看不到其他方法可以避免循环(可以用递归来解决,但在这种情况下,它会很奇怪)
function prependPath (input, path = 'var/www/html/') {
  input.forEach (item => item.Image_Name = path + item.Image_Name)
  }
  return input
}