如何将for循环的输出格式更改为字符串而不是列表?

时间:2019-05-20 20:08:16

标签: mysql node.js for-loop

我的代码中有一个for循环函数,如下所示。我试图在MYSQL的“选择列表中的位置”语句中使用输出,但是我尝试了多种方式来格式化输出,以便MYSQL语句可以工作。

let fish = [ {name: "flounder", color: "white"},
             {name: "salmon", color: "orange"},
             {name: "pike", color: "blue"} ];

// Initalize for loop to run for the total length of an array
for (let i = 0; i < fish.name.length; i++) {
    // Print each item to the console
    console.log(fish[i].name);
}

for循环的实际输出

flounder
salmon
pike

or after I updated it an array it becomes
['flounder']
['salmon']
['pike']

所需的输出如下:

flounder, salmon, pike

and if i convert it to an array it should look like this

[flounder, salmon, pike]

我将需要特定的格式,以便下面的SQL语句可以正常工作。

从fish_list中选择*,其中(?)中的名称

如何将格式转换为所需的输出?非常感谢您提供任何见解!

2 个答案:

答案 0 :(得分:1)

一种可能的方法是

let fish = [ {name: "flounder", color: "white"},
             {name: "salmon", color: "orange"},
             {name: "pike", color: "blue"} ];

const nameArrRes = fish.reduce((nameArr,item)=>{
    return nameArr.concat(item.name);
},[])

console.log(...nameArrRes); 

这将输出:比目鱼鲑鱼派克

不确定Array是什么意思,但是如果需要作为字符串,则在数组的情况下,在输入SQL之前总是可以准备字符串

答案 1 :(得分:0)

第一个:在循环外创建一个字符串变量,并不断将值添加到+逗号中。然后,在完成循环后,打印变量。 第二个是: 在你说的地方做一个数组;对于Fish中的每个对象,将该对象添加到位置[i]的数组中。该变量再次必须在循环之外。 推理: 每当循环运行时,您在循环内部创建的变量都会被销毁并重新制作。因此,删除之前包含的所有内容。这就是为什么要在循环外创建变量,使其持久化,然后可以使用包含所需值的数组或包含所需打印内容的字符串:)