我的代码中有一个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中选择*,其中(?)中的名称
如何将格式转换为所需的输出?非常感谢您提供任何见解!
答案 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]的数组中。该变量再次必须在循环之外。 推理: 每当循环运行时,您在循环内部创建的变量都会被销毁并重新制作。因此,删除之前包含的所有内容。这就是为什么要在循环外创建变量,使其持久化,然后可以使用包含所需值的数组或包含所需打印内容的字符串:)