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
复制代码

 

posted @   Youse的二分口粮地  阅读(1598)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
历史上的今天:
2020-07-31 GeoServer调用矢量切片
点击右上角即可分享
微信分享提示