如何将逗号分隔字符串转换为JavaScript数组?
如何将逗号分隔的字符串转换为JavaScript数组?
嘿,当然可以搞定这个问题!你现在的代码是把整个字符串直接塞进数组的第一个元素里,所以alert(array[0])才会显示完整的0,1。下面给你几种实用的方法,帮你把字符串拆分成目标数组:
方法1:使用split()方法(最常用)
split()是处理这类字符串拆分的首选方法,它会按照你指定的分隔符把字符串拆分成子字符串,然后返回一个数组。针对你的场景,直接用逗号,作为分隔符就行:
var string = "0,1"; var array = string.split(','); // 按逗号拆分字符串 alert(array[0]); // 弹出"0" alert(array[1]); // 弹出"1"
如果你的字符串里分隔符前后有空格(比如"0, 1"),可以用正则表达式来适配:
var string = "0, 1"; var array = string.split(/,\s*/); // 匹配逗号+任意数量的空格 alert(array[0]); // "0" alert(array[1]); // "1"
或者拆分后给每个元素去除空格:
var array = string.split(',').map(item => item.trim());
方法2:用JSON.parse()转成数组(适合需要数据类型转换的场景)
如果你希望数组里的元素是数字类型(而不是字符串),可以把原字符串包装成JSON数组的格式,再用JSON.parse()解析:
var string = "0,1"; var array = JSON.parse(`[${string}]`); // 将字符串包裹成"[0,1]"再解析 alert(array[0]); // 弹出数字0 alert(array[1]); // 弹出数字1
另外,也可以结合split()和map()来转换数据类型:
var array = string.split(',').map(Number); // 把每个字符串元素转成数字
这样处理后,你就能得到想要的数组,调用array[0]和array[1]就能分别获取0和1啦!
内容的提问来源于stack exchange,提问作者Yukthika Fernando
相关产品推荐
相关产品推荐

