javascript中将字符串转为数组最常用的是split()方法;扩展运算符[..."str"]适合字符拆分;array.from()支持映射处理;其他方式如match(/./g)或object.values()不推荐。

JavaScript 中将字符串转为数组,最常用、最直接的方法是使用 split() 方法。它按指定分隔符把字符串切开,返回一个新数组,原字符串不变。
用 split() 按字符或分隔符拆分
split() 是字符串对象的内置方法,接受一个分隔符(可以是字符串或正则表达式)和可选的限制数量参数。
- 不传参数(
str.split())→ 返回包含整个字符串的单元素数组,即["abc"] - 传空字符串(
str.split(''))→ 按每个字符拆分,适合获取字符数组,如"hi".split('')→['h', 'i'] - 传具体字符(
str.split('-'))→ 按连字符分割,如"a-b-c".split('-')→['a', 'b', 'c'] - 传正则(
str.split(/\s+/))→ 可处理多个空格、制表符等,如"a b\tc".split(/\s+/)→['a', 'b', 'c']
用扩展运算符(...)快速转为字符数组
ES6 引入的扩展运算符能将可迭代对象(包括字符串)展开,写法简洁,语义清晰:
-
[..."hello"]→['h', 'e', 'l', 'l', 'o'] - 本质是利用字符串的默认迭代器,逐个访问 Unicode 码点,对大多数常见字符(含部分 emoji)友好
- 注意:不能按自定义分隔符拆分,仅适用于“每个字符一个元素”的场景
用 Array.from() 构造数组(支持映射与处理)
Array.from() 接收类数组或可迭代对象,也支持传入映射函数,灵活性更高:
-
Array.from("123", Number)→[1, 2, 3](直接转为数字数组) -
Array.from("abc", (char, i) => `${i}:${char}`)→['0:a', '1:b', '2:c'] - 对需要边转换边处理的场景比
split().map()更简洁
其他方式(了解即可,不推荐为主流)
某些写法虽可行,但有局限或已过时:
-
str.match(/./g):用正则匹配所有字符,但无法处理空字符串(返回null),且不支持换行符等特殊字符 -
Object.values(str):依赖字符串索引属性,行为不稳定,不建议使用 -
str.split('').map(...)和Array.from(str).map(...)功能类似,后者更语义明确、兼容性更好
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











