首页 > 编程语言 >JavaScript 数组字符串转换Json格式

JavaScript 数组字符串转换Json格式

时间:2023-04-13 09:25:05浏览次数:37  
标签:字符 arr 转换 JavaScript Json 格式 字符串 const

JavaScript 数组字符串转换Json格式

//滔Roy 2023.04.13
function parseStringToArray(str) {
  // 尝试将字符串解析为 JSON 格式
  try {
    const arr = JSON.parse(str);
    // 如果解析成功,则直接返回解析结果
    if (Array.isArray(arr)) {
      return arr;
    }
  } catch (e) {}

  // 如果解析失败,则按逗号 `,` 分割字符串,并转换为数字或字符串数组
  const arr = str
    .replace(/[^\d.,\u4e00-\u9fa5]/g, '') // 去除非数字、非逗号、非句点、非中文字符的字符
    .split(',')
    .map(s => {
      const n = Number(s.trim()); // 尝试将字符串转换为数字
      if (!isNaN(n)) { // 如果转换成功,则返回数字
        return n;
      } else { // 如果转换失败,则返回字符串
        return s.trim();
      }
    });
  return arr;
}

以上代码的部分说明: 

  • Unicode 编码范围 \u4e00-\u9fa5 来匹配中文字符。这样,即使控制台不支持中文字符,也能够正常输出 Unicode 编码。
  • 使用正则表达式 /[^\d.,]/g 将输入字符串中的非数字、非逗号、非句点的字符去除,然后再将处理后的字符串按逗号分割,并转换为数字数组。这样就能够处理包含中文字符的输入字符串,并且不会出现空白输出的问题。

支持转换的格式有(示例):

// 转换为第一种格式
const inputString1 = "32周,33周,34周,35周,36周,37周,38周";  //或者'32周', '33周', '34周', '35周', '36周', '37周', '38周'
const outputArray1 = parseStringToArray(inputString1);
console.log(outputArray1); // ['32周', '33周', '34周', '35周', '36周', '37周', '38周']

// 转换为第二种格式
const inputString2 = "120, 132, 101, 134, 90, 230, 210";
const outputArray2 = parseStringToArray(inputString2);
console.log(outputArray2); // [120, 132, 101, 134, 90, 230, 210]

  

 

 

创建时间:2023.04.13  更新时间:

  

标签:字符,arr,转换,JavaScript,Json,格式,字符串,const
From: https://www.cnblogs.com/guorongtao/p/17312157.html

相关文章

  • JS字符串转base64格式
    JS字符串转base64格式原文链接:https://www.cnblogs.com/liu-fei-fei/p/7251105.htmlvarBase64={//privateproperty_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",//publicmethodforencodingencode:functi......
  • 字符串拼接【面试题】
    先来看一段代码publicclassTest{publicStringmethod1(){Stringret="";for(inti=0;i<100000;i++){ret=ret+"ok";}returnret;}publicStringmethod2(){StringBuilderret=newStringB......
  • JavaScript基础知识
    JavaScript基础知识JavaScript是什么?JavaScript是一门编程语言,可以实现很多的网页交互效果。开web页面的脚本语言JavaScript的书写位置?内部JavaScript写在body结束标签上方script里面外部JavaScript通过scriptsrc=引入js文件但是script里面不要写内容,否则会被忽略JavaSc......
  • 7659: 计算字符串距离 动态规划
    描述 对于两个不同的字符串,我们有一套操作方法来把他们变得相同,具体方法为:   修改一个字符(如把“a”替换为“b”);删除一个字符(如把“traveling”变为“travelng”)。比如对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过增加/减少一个“g”的方式来达到目的......
  • C#请求访问HTTP+JSON数据的解析
    一、前言最近工作客户需要一个HTTP的Mes需求,所以自己去学习了C#请求HTTP的方法以及JSON数据的解析方法,总结出了点经验,以便后续自己找起来方便一点,故在此写一篇文章。二、准备工作下面我用一个聚合数据提供的天气预报API接口来阐述请求HTTP和JSON数据解析的功能;先看API文档这么访......
  • 使用 InterpolatedString 减少字符串拼接的 GC
    原视频链接考虑到Unity准备在2024年前后,推出基于dotnetRuntime的版本,本篇文章也标记为Unity分类,等后面Unity准备好之后,再对新版的客户端进行改造在日常开发过程中,字符串的拼接通常会占用大量的GC,通常拼接字符串我们会使用如下几种方法1.1+"/"+2+"/"+32......
  • 哈希表:剑指 Offer 48. 最长不含重复字符的子字符串
    题目描述:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。   提示:s.length<=40000 思路:双指针(滑动窗口)+哈希表:   复杂度分析:时间复杂度O(N):其中N为字符串长度,动态规划需遍历计算dp列表。空间复杂度O(1......
  • java 逗号拼接字符串
    逗号拼接字符串可以使用String类的静态方法join()来实现这个功能,示例代码如下:```javapublicclassPhoneNumbers{publicstaticvoidmain(String[]args){StringphoneNumber1="18801083588";StringphoneNumber2="15709106355";Stri......
  • Python json基本使用json.dumps() 和json.loads()
    Python中json的基本使用 json.dumps()和json.loads()JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它是JavaScript的子集,易于人阅读和编写。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式,现在也常用于http请求中。Python中可用json模块来......
  • java判断字符串是否包含汉字工具类
       /***判断字符串中是否包含中文**@paramstr待校验字符串*@return是否为中文*@warn不能校验是否为中文标点符号*/publicstaticbooleanisContainsChinese(Stringstr){if(str==null){returnfalse;}P......