allows to break out of $tw.utils.each

Will improve performance with `$tw.utils.each` callbacks breaking out of
the iteration via `return false;`.
print-window-tiddler
Tobias Beer 2014-11-26 17:51:27 +01:00
rodzic cb9506a166
commit 1e47a62c2a
1 zmienionych plików z 9 dodań i 4 usunięć

Wyświetl plik

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