这个代码给了我一个奇怪的错误。有人知道哪里出错了吗?
我可以推送项,但不能在for循环中推送。适用于使用Literal Syntax = []创建的数组,在使用arr2[i] = 5
而不是.push()
方法填充时也适用
const arr2 = Array(10);
for(let i = 0; i < arr2.length ; i++)
{
arr2.push(5)
}
#
# Fatal error in , line 0
# Fatal JavaScript invalid size error 144998948
#
#
#
#FailureMessage Object: 00000009F4FFE470
1: 00007FF6F1291B7F node_api_throw_syntax_error+203775
2: 00007FF6F11A2B2F v8::CTypeInfoBuilder<void>::Build+11951
3: 00007FF6F2012CF2 V8_Fatal+162
4: 00007FF6F1B54A55 v8::internal::FactoryBase<v8::internal::Factory>::NewFixedArray+101
5: 00007FF6F19D9D43 v8::internal::FeedbackNexus::ic_state+64883
6: 00007FF6F19F8650 v8::debug::Script::GetIsolate+14064
7: 00007FF6F18453B0 v8::internal::CompilationCache::IsEnabledScriptAndEval+25952
8: 00007FF6F1D51E81 v8::internal::SetupIsolateDelegate::SetupHeap+558193
9: 00007FF671E8EC86
2条答案
按热度按时间klr1opcd1#
您正在使用条件“i〈arr2.length”推入正在迭代的同一个列表,这意味着它将永远运行,并将增长到无限
wlzqhblo2#
arr2.length
以10开头每次调用
push
时,都要添加一个元素并增加arr2.length
当
arr2.length
达到144998948
时,进程将抛出错误