mirror of
https://github.com/liriliri/eruda.git
synced 2026-03-20 09:38:37 +08:00
Dev: Optimize console big array performance
This commit is contained in:
@@ -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}]`);
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user