1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
var max
for (max = 2; max < 100; ++max) {
var arr = [];
// force a sparse array
Object.defineProperty(arr, "0", {
get: function () {
return 0;
},
configurable: true
});
var i;
var j;
for (i = 1; i < max; ++i)
arr[i] = i;
for (i = 1; i < max; i += 2) {
delete arr[i];
for (j = 0; j < max; ++j) {
if (j <= i && (j %2)) {
if (arr[j] != undefined)
throw "err1"
} else {
if (arr[j] != j)
throw "err2"
}
}
}
}
for (max = 2; max < 100; ++max) {
var arr = [];
// force a sparse array
Object.defineProperty(arr, "0", {
get: function () {
return 0;
},
configurable: true
});
var i;
var j;
for (i = 1; i < max; ++i)
arr[i] = i;
for (i = 0; i < max; i += 2) {
delete arr[i];
for (j = 0; j < max; ++j) {
if (j <= i && !(j %2)) {
if (arr[j] != undefined)
throw "err1 " + i + " " + j + " " + arr[j]
} else {
if (arr[j] != j)
throw "err2 " + j
}
}
}
}
|