通过数组nodejs映射

map through array nodejs

我有一个条纹功能,我试图将图像推送到每个产品的数组中。这是预建条带结帐页面的一部分...这是我的全部功能:

//defining arrays
var productsArray = [];
var priceArray = [];
var imageArray = [];
//query to database

var productsStripe = "select * from " + tableID + "";
ibmdb.open(db2ConnString, function(err, conn) {
    if (err) return console.log(err);
  conn.query(productsStripe,  async function (err, rows) {
    if (err) {
      console.log(err)
    }
    console.log(rows)

    var itemName = ""
    var itemPrice = ""
    var totalNewPriceTest = ""

    for(var i = 0; i < rows.length; i++)     
    //inserting items and prices into arrays
     productsArray.push(rows[i]['NAME'])
     priceArray.push(rows[i]['PRICE'])
     imageArray.push(rows[i]['IMAGE_URL'])

    }
   
  
    //stripe
            // loop over products array to construct the line_items
        const items = productsArray.map((product, i) => {
            return {
            price_data: {
                currency: 'CAD',
                product_data: {
                name: product,
                images: imageArray[i]
                },
                unit_amount: parseInt(priceArray[i], 10) * 100,
            },
            quantity: 1,
            };
        });

它返回错误:(node:39728) UnhandledPromiseRejectionWarning: Error: Invalid array

我如何获取图像数组来用图像填充条带页面?我将值推入数组,并调用它们,但不确定为什么它返回无效数组。有什么想法吗?

观察
  • imageArray 是包含不同产品图像 url 的数组,productArray.
  • 中的每个产品一个。
  • 从 prop images 的名称、错误消息和 OP 提供的错误行信息来看,prop images 应该是一个数组。

在代码中,image: imageArray[i] 表示 image 道具被分配了一个字符串,但它应该是数组。因此,用 [imageArray[i]] 更改它,我们将长度为 1 的数组分配给 image 包含该产品图像 url 的道具。