gpt4 book ai didi

javascript数组作为字符串列表(保留引号)

转载 作者:IT老高 更新时间:2023-10-28 22:02:43 28 4
gpt4 key购买 nike

我有一个字符串数组。当我使用 .toString() 输出它时,引号不会保留。这使得使用“in”构建 mysql 查询变得困难。考虑以下几点:

SELECT * FROM Table WHERE column IN ('item1','item2','item3','item4')

toString is returning: IN (item1,item2,item3,item4)

我在这里忽略了一个简单的修复。

最佳答案

引号不会保留,因为它们实际上不是字符串值的一部分,它们只是在代码中指示字符串文字所必需的。

所以,不要使用 toString()。相反,一种方法如下:

var arr = ['item1','item2','item3','item4'];

var quotedAndCommaSeparated = "'" + arr.join("','") + "'";

// quotedAndCommaSeparated === "'item1','item2','item3','item4'"

Array.join()方法返回一个字符串,该字符串是将所有数组元素连接成一个字符串,每个项目之间有一个(可选)分隔符。因此,如果您指定包含引号和逗号的分隔符,您只需手动为第一项和最后一项(分别)附加开始和结束引号。

(并且告诉我你没有使用客户端 JavaScript 来形成你的 SQL。)

编辑:允许一个空数组,为结果字符串包含一个默认值,否则(如 missingno 所指出的)字符串将是 "''":

var newString = arr.length === 0 ? "" : "'" + arr.join("','") + "'";
// default for empty array here ---^^

(可能更适合使用 if (arr.length===0) 来执行其他操作,而不是运行 SELECT 语句。)

关于javascript数组作为字符串列表(保留引号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8483179/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com