function testDenseAndSparse1() {
var arr = [1 , 2 , 3 , 4 , 5 ];
arr[2000000 ] = 2 ;
arr[1000000 ] = 1 ;
assertEq(arr.length, 2000001 );
arr.length = 1500000 ;
assertEq(Object.keys(arr).length, 6 );
arr.length = 2 ;
assertEq(Object.keys(arr).length, 2 );
assertEq(JSON.stringify(arr), "[1,2]" );
}
testDenseAndSparse1();
function testDenseAndSparse2() {
var arr = [1 , 2 , 3 , 4 , 5 , 6 ];
Object.defineProperty(arr, 1 , {configurable: true , writable: false , value: -2 });
Object.defineProperty(arr, 3 , {configurable: true , get: () => -4 });
assertEq(JSON.stringify(arr), "[1,-2,3,-4,5,6]" );
arr.length = 4 ;
assertEq(Object.keys(arr).length, 4 );
assertEq(JSON.stringify(arr), "[1,-2,3,-4]" );
arr.length = 3 ;
assertEq(Object.keys(arr).length, 3 );
assertEq(JSON.stringify(arr), "[1,-2,3]" );
arr.length = 2 ;
assertEq(Object.keys(arr).length, 2 );
assertEq(JSON.stringify(arr), "[1,-2]" );
arr.length = 1 ;
assertEq(Object.keys(arr).length, 1 );
assertEq(JSON.stringify(arr), "[1]" );
arr.length = 0 ;
assertEq(Object.keys(arr).length, 0 );
assertEq(JSON.stringify(arr), "[]" );
arr[0 ] = 11 ;
arr[1 ] = 22 ;
arr[2 ] = 33 ;
assertEq(Object.keys(arr).length, 3 );
assertEq(JSON.stringify(arr), "[11,22,33]" );
}
testDenseAndSparse2();
Messung V0.5 in Prozent C=96 H=96 G=95
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland