You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中从字符串中提取符合格式的目标数组

实现方案

你可以通过正则匹配提取中括号包裹的数组结构,再转换为JS数组,代码如下:

const str = "[1,2,3,4],5,6";

const getArray = (str) => {
  // 匹配第一个完整的方括号数组结构
  const arrayStr = str.match(/\[.*?\]/)?.[0];
  return arrayStr ? JSON.parse(arrayStr) : [];
}

console.log(getArray(str));  // 输出 [1, 2, 3, 4]

以上方案支持数组嵌套场景,只要方括号内是合法的JSON数组格式都能正常解析。如果不想用JSON.parse,也可以通过下标截取+字符串分割实现,适合确定数组内只有平级纯数字的场景:

const getArray = (str) => {
  const leftBracketIndex = str.indexOf('[');
  const rightBracketIndex = str.indexOf(']');
  // 边界处理:没有匹配到合法方括号对时返回空数组
  if (leftBracketIndex === -1 || rightBracketIndex < leftBracketIndex) return [];
  // 截取方括号内的内容,分割后转数字,自动忽略元素前后的空格
  return str.slice(leftBracketIndex + 1, rightBracketIndex)
    .split(',')
    .map(item => Number(item.trim()));
}

内容的提问来源于stack exchange,提问作者Mike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 18:12:00