Dev: Optimize console big array performance

This commit is contained in:
surunzi
2018-01-10 16:32:56 +08:00
parent edbc96dba4
commit 39f58d6888
2 changed files with 25 additions and 3 deletions

View File

@@ -66,7 +66,7 @@ export default function getAbstract(obj, {
{ {
if (i > keyNum) if (i > keyNum)
{ {
objEllipsis = '...'; objEllipsis = ', ...';
return; return;
} }
let key = wrapKey(escapeJsonStr(name)); let key = wrapKey(escapeJsonStr(name));
@@ -118,8 +118,19 @@ export default function getAbstract(obj, {
if (doStringify) if (doStringify)
{ {
json = '['; json = '[';
each(obj, val => parts.push(`${getAbstract(val, passOpts)}`)); let len = obj.length,
json += parts.join(', ') + ']'; arrEllipsis = '';
if (len > 100)
{
len = 100;
arrEllipsis = ', ...';
}
for (let i = 0; i < len; i++)
{
parts.push(`${getAbstract(obj[i], passOpts)}`);
}
json += parts.join(', ') + arrEllipsis + ']';
} else } else
{ {
json = wrapStr(`Array[${obj.length}]`); json = wrapStr(`Array[${obj.length}]`);

View File

@@ -31,6 +31,9 @@
<li> <li>
<a href="#" id="trigger-error">Trigger Error</a> <a href="#" id="trigger-error">Trigger Error</a>
</li> </li>
<li>
<a href="#" id="big-array">Big Array</a>
</li>
</ul> </ul>
</nav> </nav>
<script> <script>
@@ -99,6 +102,14 @@
{ {
triggerError(); triggerError();
}); });
addClickEvent('big-array', function ()
{
var arr = [];
for (var i = 0; i < 10000; i++) {
arr.push(i);
}
console.log(arr);
});
</script> </script>
<script>boot();</script> <script>boot();</script>
</body> </body>