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

 

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