From: phasefx Date: Thu, 30 Jun 2005 02:00:32 +0000 (+0000) Subject: filter, map, & find for objects X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=fcf27d76952d1beeb1ff14777069855350ececbe;p=Evergreen.git filter, map, & find for objects git-svn-id: svn://svn.open-ils.org/ILS/trunk@992 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Evergreen/staff_client/chrome/content/evergreen/util/functional.js b/Evergreen/staff_client/chrome/content/evergreen/util/functional.js index ff99b27e7b..df52039e2b 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/util/functional.js +++ b/Evergreen/staff_client/chrome/content/evergreen/util/functional.js @@ -9,6 +9,15 @@ function filter_list(list,f) { return new_list; } +function filter_object(obj,f) { + var new_obj = {}; + for (var i in obj) { + var t = f( i, obj[i] ); + if (t) new_obj[i] = obj[i]; + } + return new_obj; +} + function find_list(list,f) { for (var i in list) { var t = f( list[i] ); @@ -17,6 +26,14 @@ function find_list(list,f) { return null; } +function find_object(obj,f) { + for (var i in obj) { + var t = f( i, obj[i] ); + if (t) return obj[i]; + } + return null; +} + function map_list(list,f) { var new_list = []; for (var i in list) { @@ -25,6 +42,14 @@ function map_list(list,f) { return new_list; } +function map_object(obj,f) { + var new_obj = {}; + for (var i in obj) { + new_obj[ f( i, obj[i] )[0] ] = f( i, obj[i] )[1]; + } + return new_obj; +} + function map_object_to_list(obj,f) { var new_list = []; for (var i in obj) {