iterator-indices-7.js (665B)
1 function test(obj, expected) { 2 var actual = 0; 3 for (var s in obj) { 4 actual += obj[s]; 5 } 6 assertEq(actual, expected); 7 } 8 function test2(obj, expected) { 9 var actual = 0; 10 var keys = Object.keys(obj); 11 for (var i = 0; i < keys.length; i++) { 12 var s = keys[i]; 13 actual += obj[s]; 14 } 15 assertEq(actual, expected); 16 } 17 18 var arr = []; 19 var elem_obj = []; 20 for (var i = 0; i < 20; i++) { 21 var obj = {}; 22 for (var j = 0; j < i; j++) { 23 obj["x_" + i + "_" + j] = 1; 24 } 25 arr.push(obj); 26 elem_obj.push(1); 27 } 28 arr.push(elem_obj); 29 30 with ({}) {} 31 for (var i = 0; i < 2000; i++) { 32 var idx = i % arr.length; 33 test(arr[idx], idx); 34 test2(arr[idx], idx); 35 }