Tag: 稀疏数组

JavaScript / ECMAScript数组在Node.js中“稀疏”吗?

我的问题是相同的JavaScript数组稀疏? 有一个区别 JavaScript数组是稀疏的, 在Node.js(和/或V8)中实现 ? 我假设了这些,但是我做了下面的testing: var testArray = []; testArray[10000] = 'test'; console.log(testArray); 返回的是10000个空白元素,最后是“testing”。 这是因为debugging输出的工作方式,或者是否Node.js实际上为未定义的数组元素添加新元素时分配内存?

Node.js中稀疏数组的内存消耗

我写了一个生成数组的小程序,运行时间相当长(几乎永远;-)): var results = []; var i = 1; while (true) { console.log(i++); results.push([]); } 当我创build一个长度为i的稀疏数组而不是一个空数组时,程序崩溃得相当快: var results = []; var i = 1; while (true) { console.log(i); results.push(new Array(i++)); } 其实我起床到i等于17424,然后我得到一个错误消息告诉我 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed – process out of memory Abort trap: 6 和Node.js带我回到控制台。 由于唯一的区别是第二个产生比第一个更大的空数组,所以这意味着长度为n的空稀疏数组占用长度为1的空数组的空间的n倍。 我是对的这个(具体到Node.js)? 还有一个问题:如果我跑步 var results = []; var i […]