1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2025-08-06 05:43:51 +00:00

Merge pull request #1145 from tobibeer/allow-to-break-each

allows to break out of $tw.utils.each
This commit is contained in:
Jeremy Ruston 2014-12-02 15:32:17 +00:00
commit 136c00237e

View File

@ -62,14 +62,23 @@ $tw.utils.isDate = function(value) {
Iterate through all the own properties of an object or array. Callback is invoked with (element,title,object) Iterate through all the own properties of an object or array. Callback is invoked with (element,title,object)
*/ */
$tw.utils.each = function(object,callback) { $tw.utils.each = function(object,callback) {
var f; var next,f;
if(object) { if(object) {
if(Object.prototype.toString.call(object) == "[object Array]") { if(Object.prototype.toString.call(object) == "[object Array]") {
object.forEach(callback); for (f=0; f<object.length; f++) {
next = callback(object[f],f,object);
if(next === false) {
break;
}
}
} else { } else {
for(f in object) { for(f in object) {
if(Object.prototype.hasOwnProperty.call(object,f)) { if(Object.prototype.hasOwnProperty.call(object,f)) {
callback(object[f],f,object); next = callback(object[f],f,object);
if(next === false) {
break;
}
} }
} }
} }
@ -1958,4 +1967,4 @@ if(typeof(exports) !== "undefined") {
exports.TiddlyWiki = _boot; exports.TiddlyWiki = _boot;
} else { } else {
_boot(window.$tw); _boot(window.$tw);
} }