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

JavaScript如何将字符串数组转换为数字二维数组

问题原因

  • 第一个错误点:Array.forEach() 方法本身没有返回值,执行后永远返回undefined,你直接将它的执行结果赋值给x,或是作为new Array()的入参,都不可能拿到遍历生成的转换结果,和split会不会修改原字符串没有关系。
  • 第二个遗漏点:你用split拆分出来的每个元素都是字符串类型(比如'1'而非数字1),没有做类型转换的话,最终得到的也不是你要的数字型二维数组。

正确实现

最简洁的写法是用专门用来做数组元素转换的Array.map()方法:

const lines = ['101','010','110'];
const x = lines.map(str => str.split('').map(char => Number(char)))

执行逻辑说明:

  1. 外层map遍历lines的每一个字符串元素
  2. 对每个字符串执行split('')拆分为单字符数组
  3. 内层map遍历单字符数组,用Number()把每个字符转成数字
  4. 所有转换后的子数组合并后就是目标二维数组。

如果非要用forEach实现也可以,手动初始化空数组往里塞结果就行:

const x = []
lines.forEach(str => {
  const numSubArr = str.split('').map(char => Number(char))
  x.push(numSubArr)
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:24:04