56juqingba.com – What's Your Question? Core Finance Categories JavaScript将字符串转换为数组的实现方式

JavaScript将字符串转换为数组的实现方式

这个问题问得很实在 👍
JS 里“字符串 → 数组”不是只有一种方式,而是看你想怎么拆。我给你做一份从基础到进阶、从最常用到最容易踩坑的完整指南。


JavaScript 将字符串转换为数组的实现方式(全景版)


一、最常用:split()(99% 业务首选)

1️⃣ 按指定字符拆分

const str = "a,b,c";
const arr = str.split(",");

console.log(arr); // ["a", "b", "c"]

常见分隔符

","   // CSV
"|"   // 管道
" "   // 空格
"\n"  // 换行

2️⃣ 按空字符拆分(逐字符)

"hello".split("");
// ["h", "e", "l", "l", "o"]

⚠️ 对 emoji / 部分 Unicode 字符不安全(后面说)


3️⃣ 使用正则拆分(进阶)

const str = "a, b; c|d";
str.split(/[,;|\s]+/);
// ["a", "b", "c", "d"]

二、ES6 推荐:扩展运算符 ...(更语义化)

[..."hello"];
// ["h", "e", "l", "l", "o"]

✅ 比 split("") 更安全
✅ 支持大多数 Unicode 字符


三、Array.from()(可控性最强)

Array.from("hello");
// ["h", "e", "l", "l", "o"]

带映射(一步到位)

Array.from("123", Number);
// [1, 2, 3]

四、按“单词”拆分(真实业务高频)

const str = "  Hello   world   JS  ";
str.trim().split(/\s+/);
// ["Hello", "world", "JS"]

五、字符串本身是“数组字面量 / JSON”时

1️⃣ JSON 字符串(正确姿势)

const str = '["a","b","c"]';
const arr = JSON.parse(str);
// ["a", "b", "c"]

❌ 千万不要用 eval


2️⃣ 逗号字符串 → 数字数组

"1,2,3".split(",").map(Number);
// [1, 2, 3]

六、特殊需求:按字符但支持 emoji

❌ 错误方式

"👍👍".split("");
// ["�", "�", "�", "�"]

✅ 正确方式

[..."👍👍"];
// ["👍", "👍"]

Array.from("👍👍");
// ["👍", "👍"]

七、性能 & 适用场景对比

方式是否推荐适用场景
split()⭐⭐⭐⭐⭐分隔字符串
split("")⚠️ASCII
[...str]⭐⭐⭐⭐字符级
Array.from()⭐⭐⭐⭐字符 + 映射
正则 split⭐⭐⭐⭐复杂规则
JSON.parse⭐⭐⭐⭐JSON 字符串
eval禁用

八、选择口诀(直接背)

有分隔符 → split
拆字符 → ...Array.from
是 JSON → JSON.parse
要处理 emoji → 别用 split("")


九、真实项目推荐组合

表单 / URL / 输入框

input.trim().split(/\s*,\s*/);

CSV

line.split(",");

字符处理 / 算法题

[...str]

如果你愿意,我可以继续帮你:

  • 🔥 对比性能(10 万字符)
  • 🔥 字符串 ↔ 数组互转速查表
  • 🔥 前端面试常考陷阱题

你是 写业务代码刷算法题,还是 准备前端面试

Leave a Reply

您的邮箱地址不会被公开。 必填项已用 * 标注

Related Post