@@ -31,47 +31,48 @@ Object.extend({
31
31
32
32
map : function ( object , fn , bind ) {
33
33
var results = { } ;
34
- for ( var key in object ) {
35
- if ( hasOwnProperty . call ( object , key ) ) results [ key ] = fn . call ( bind , object [ key ] , key , object ) ;
34
+ var keys = Object . keys ( object ) ;
35
+ for ( var i = 0 ; i < keys . length ; i ++ ) {
36
+ var key = keys [ i ] ;
37
+ results [ key ] = fn . call ( bind , object [ key ] , key , object ) ;
36
38
}
37
39
return results ;
38
40
} ,
39
41
40
42
filter : function ( object , fn , bind ) {
41
43
var results = { } ;
42
- for ( var key in object ) {
43
- var value = object [ key ] ;
44
- if ( hasOwnProperty . call ( object , key ) && fn . call ( bind , value , key , object ) ) results [ key ] = value ;
44
+ var keys = Object . keys ( object ) ;
45
+ for ( var i = 0 ; i < keys . length ; i ++ ) {
46
+ var key = keys [ i ] , value = object [ key ] ;
47
+ if ( fn . call ( bind , value , key , object ) ) results [ key ] = value ;
45
48
}
46
49
return results ;
47
50
} ,
48
51
49
52
every : function ( object , fn , bind ) {
50
- for ( var key in object ) {
51
- if ( hasOwnProperty . call ( object , key ) && ! fn . call ( bind , object [ key ] , key ) ) return false ;
53
+ var keys = Object . keys ( object ) ;
54
+ for ( var i = 0 ; i < keys . length ; i ++ ) {
55
+ var key = keys [ i ] ;
56
+ if ( ! fn . call ( bind , object [ key ] , key ) ) return false ;
52
57
}
53
58
return true ;
54
59
} ,
55
60
56
61
some : function ( object , fn , bind ) {
57
- for ( var key in object ) {
58
- if ( hasOwnProperty . call ( object , key ) && fn . call ( bind , object [ key ] , key ) ) return true ;
62
+ var keys = Object . keys ( object ) ;
63
+ for ( var i = 0 ; i < keys . length ; i ++ ) {
64
+ var key = keys [ i ] ;
65
+ if ( fn . call ( bind , object [ key ] , key ) ) return true ;
59
66
}
60
67
return false ;
61
68
} ,
62
69
63
- keys : function ( object ) {
64
- var keys = [ ] ;
65
- for ( var key in object ) {
66
- if ( hasOwnProperty . call ( object , key ) ) keys . push ( key ) ;
67
- }
68
- return keys ;
69
- } ,
70
-
71
70
values : function ( object ) {
72
71
var values = [ ] ;
73
- for ( var key in object ) {
74
- if ( hasOwnProperty . call ( object , key ) ) values . push ( object [ key ] ) ;
72
+ var keys = Object . keys ( object ) ;
73
+ for ( var i = 0 ; i < keys . length ; i ++ ) {
74
+ var k = keys [ i ] ;
75
+ values . push ( object [ k ] ) ;
75
76
}
76
77
return values ;
77
78
} ,
@@ -81,8 +82,10 @@ Object.extend({
81
82
} ,
82
83
83
84
keyOf : function ( object , value ) {
84
- for ( var key in object ) {
85
- if ( hasOwnProperty . call ( object , key ) && object [ key ] === value ) return key ;
85
+ var keys = Object . keys ( object ) ;
86
+ for ( var i = 0 ; i < keys . length ; i ++ ) {
87
+ var key = keys [ i ] ;
88
+ if ( object [ key ] === value ) return key ;
86
89
}
87
90
return null ;
88
91
} ,
0 commit comments