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

如何将数值范围中的数字拆分为单个数字存入数组?

问题解决方案

你的代码问题在于:arr.push(arrPsh)是把每个数字拆分后的子数组直接推入主数组,导致arr变成了二维数组(比如[["1","4"],["1","5"],["1","6"]]),你看到的输出里的额外逗号就是子数组之间的分隔。另外拆分出来的元素是字符串类型,和你示例中的数字类型也不匹配。

修正后的代码(两种可选方式)

方式一:使用扩展运算符推送单个元素

let min = 14,
    max = 16,
    arr = [];

for (let i = min; i <= max; i++) {
  // 拆分字符串并转成数字,用扩展运算符逐个推入主数组
  arr.push(...i.toString().split("").map(num => parseInt(num, 10)));
}

console.log(arr); // 输出:[1,4,1,5,1,6]

方式二:使用concat合并数组

let min = 14,
    max = 16,
    arr = [];

for (let i = min; i <= max; i++) {
  const splitNums = i.toString().split("").map(num => parseInt(num, 10));
  arr = arr.concat(splitNums);
}

console.log(arr); // 输出:[1,4,1,5,1,6]

关键说明

  • i.toString().split(""):将数字转为字符串后拆分为单个字符的数组(比如14 → ["1","4"])
  • .map(num => parseInt(num, 10)):把拆分得到的字符串转为数字类型(如果不需要数字,可省略此步骤)
  • ...扩展运算符/concat:将子数组中的单个元素合并到主数组,避免主数组变成二维结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 23:03:18