[英]How can i convert comma separated query String to a Array of Strings
我想知道是否有一個
我有一個查詢參數,當用戶調用 URL 時會得到一個查詢參數,它可以有一個或多個用逗號分隔的值。 當我得到參數時,我需要將逗號分隔的項目列表轉換為字符串數組,這樣我就可以將它們傳遞給我的 SQL 查詢。 下面的代碼為 inPropTypearray 打印出 [ 'sfr', 'condo', 'vac' ] 但是當我將數組添加到 myQstr 時,它不再是字符串數組,而是像這樣分隔的列表逗號。 ['LOWER(f.Record.propertyType) IN sfr,condo,vac']
不知道我錯過了什么
propertytype = 'sfr,condo,vac' myQstr =[] if(propertytype){ console.log('we have Property Filter') if(propertytype.length > 0){ let inPropType = propertytype.split(",") let inPropTyperray = [] inPropType.forEach(function(element){ inPropTyperray.push(element) }) myQstr.push("LOWER(f.Record.propertyType) IN " + inPropTyperray ) console.log(inPropTyperray) console.log(myQstr) } }
propertytype = 'sfr,condo,vac'
myQstr =[]
if(propertytype){
console.log('we have Property Filter')
if(propertytype.length > 0){
let inPropType = propertytype.split(",")
let inPropTyperray = []
inPropType.forEach(function(element){
inPropTyperray.push(element)
})
myQstr.push("LOWER(f.Record.propertyType) IN " + inPropTyperray )
console.log(inPropTyperray)
console.log(myQstr)
}
}
您應該將 map 數組值添加到 SQL 字符串並將這些括號添加到查詢字符串:
propertytype = 'sfr,condo,vac' myQstr =[] if(propertytype){ console.log('we have Property Filter') if(propertytype.length > 0){ let inPropType = propertytype.split(",") let inPropTyperray = [] inPropType.forEach(function(element){ inPropTyperray.push(element) }) myQstr.push(`LOWER(f.Record.propertyType) IN (${inPropTyperray.map(i => `'${i}'`)})`) console.log(inPropTyperray) console.log(myQstr) } }
SQL 需要在IN
列表中的每個字符串周圍加上引號,並且還要求它位於()
內部。
propertytype = 'sfr,condo,vac' myQstr = [] if (propertytype) { console.log('we have Property Filter') if (propertytype.length > 0) { let inPropType = propertytype.split(",") let inPropTyperray = inPropType.map(prop => `'${prop}'`).join(',') myQstr.push(`LOWER(f.Record.propertyType) IN (${inPropTyperray})`); console.log(inPropTyperray) console.log(myQstr) } }
這很簡單。 您只需要使用 delimiter/separator 分割字符串,
並且您應該得到一個字符串數組。
const propertyType = 'sfr,condo,vac';
const myQstr = propertyType.split(",");
console.log(myQstr); // [ 'sfr', 'condo', 'vac' ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.