Changeset 10203
- Timestamp:
- 08/15/07 20:51:12 (15 months ago)
- Files:
-
- 1 modified
-
dojo/trunk/_base/array.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
dojo/trunk/_base/array.js
r10200 r10203 19 19 // http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf 20 20 21 var step;21 var i = 0, step = 1, end = array.length; 22 22 if(findLast){ 23 step = -1, i = (fromIndex||array.length - 1), end = -1; 24 }else{ 25 step = 1, i = (fromIndex||0), end = array.length; 23 i = end - 1; 24 step = end = -1; 26 25 } 27 for( ; i!=end; i+=step){26 for(i = fromIndex || i; i != end; i += step){ 28 27 if(array[i] == value){ return i; } 29 28 } … … 52 51 53 52 // match the behavior of the built-in forEach WRT empty arrs 54 if( (!arr)||(!arr.length)){ return; }53 if(!arr || !arr.length){ return; } 55 54 56 55 // FIXME: there are several ways of handilng thisObject. Is … … 64 63 _everyOrSome: function(/*Boolean*/every, /*Array*/arr, /*Function*/callback, /*Object?*/obj){ 65 64 var _p = _getParts(arr, obj); arr = _p[0]; obj = _p[1]; 66 for(var i=0,l=arr.length; i<l; i++){ 67 var result = callback.call(obj, arr[i], i, arr); 68 if(every && !result){ 69 return false; // Boolean 70 }else if((!every)&&(result)){ 71 return true; // Boolean 65 for(var i = 0, l = arr.length; i < l; i++){ 66 var result = !!callback.call(obj, arr[i], i, arr); 67 if(every ^ result){ 68 return result; // Boolean 72 69 } 73 70 } 74 return (!!every); // Boolean71 return every; // Boolean 75 72 }, 76 73