JavaScript打印数组仅显示前100个元素的原因及无循环无splice全量显示方法
问题解答
为什么控制台最多只显示100个数组元素
这个限制和代码逻辑无关,是JavaScript运行环境(浏览器开发者工具、Node.js等)的默认性能优化策略:为了避免超长数组输出占用过多渲染资源、拖慢控制台响应速度,运行环境默认将数组输出的截断阈值设置为100,超出部分就会显示为... N more items的提示。
无需循环、无需splice的完整打印方案
下面这几个方案都可以直接输出完整数组,不需要拆分打印:
方案1:转为JSON字符串输出
将数组序列化为完整的JSON字符串后打印,所有元素都会完整展示:
// 基础压缩格式输出 console.log(JSON.stringify(listPrimeNumbers())); // 带缩进的格式化输出,可读性更高 console.log(JSON.stringify(listPrimeNumbers(), null, 2));
方案2:Node.js环境使用console.dir修改截断配置
如果是在Node.js环境运行,可以直接通过console.dir的配置项关闭数组截断限制:
// maxArrayLength设为null代表不限制数组展示长度 console.dir(listPrimeNumbers(), { maxArrayLength: null });
方案3:浏览器环境使用console.table输出
如果是在浏览器开发者工具控制台运行,可以用表格形式展示所有元素,自动全量加载无截断:
console.table(listPrimeNumbers());
内容的提问来源于stack exchange,提问作者yetty
相关产品推荐
相关产品推荐

