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         }
View Code

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章