风雪o 2022-05-10 17:32 采纳率: 60%
浏览 46
已结题

定义超长字符串或数组

@小蓝阿姨


var s0="",s1="";
for(var i=0;i<20000;i++) 
    s0+="0";
for(var j=0;j<26000;j++){ //大约52000w 为length最大值
  s1+=s0;
} 

console.log("s1 length:"+s1.length/10000+"w");

这段代码26000时可以运行,27000时就不行,js如果定义一个超长数组或字符串该怎么实现呢~非常感谢!

  • 写回答

2条回答 默认 最新

  • 小蓝阿姨 2022-05-12 15:37
    关注

    在浏览器环境中可以定义这么一个500多兆的数组,但定义一个500多兆文本就会直接报错,在nodejs就正常

    let s0=''
    const mArray = []
    for(let i = 0; i < 20000; i++) {
      s0 += '0'
    }
    for(let j = 0; j < 26000; j++) {
      mArray.push(s0)
    }
    console.log('s1 length:'+(mArray.length * s0.length)/10000+'w')
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月21日
  • 已采纳回答 5月13日
  • 修改了问题 5月10日
  • 创建了问题 5月10日