JavaScript将数组内数字用逗号分隔成带引号的字符串
前言
加班,本来不想写博文了,想了下还是做个记录吧,万一以后再用到呢?
背景为了做一个高亮模型的需求,根据fwbh查询到所有对应的图斑模型,然后高亮。由于在前端要用到sql语句,所以要把数字拼接起来,并且带引号。类似这种语句:
const query = layer.createQuery() query.where = `fwbh in ('123','321')` //此处为es6的模板字符串
环境
Win10
JavaScript
ArcGIS API for JavaScript 4.24
问题
后端接口请求的数组(元素为字符串类型的数字),貌似在前端会自动转为数字类型。,比如['123','321'],用array.join(',')处理后会转为: '123,321' 。实际想要的是'123','321'
1 let array=['123','321']
2 array.join(',') //结果为 '123,321'
这种是不满足需求的,需要改造一下。
解决方案
直接上代码,纯前端只需参考下面两句核心代码即可,其它为WebGIS代码:

1 // 此处为所有结果高亮逻辑 2 const arr = [ 3 '320509000458377', 4 '320509000458378', 5 '320509000458376' 6 ] 7 const fwbhStr = arr.join("','") //核心代码 8 // console.log(fwbhStr) 9 10 const query = layer.createQuery() 11 query.where = `fwbh in ('${fwbhStr}')` //核心代码,用了ES6模板字符串 12 layer 13 .queryFeatures(query) 14 .then((result) => { 15 if (highlight) { 16 highlight.remove() 17 } 18 highlight = sceneLayerView.highlight(result.features) 19 }) 20 .catch(function (error) { 21 console.log(error) 22 }) 23 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
2020-07-31 GeoServer调用矢量切片