filter, map, & find for objects
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 30 Jun 2005 02:00:32 +0000 (02:00 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 30 Jun 2005 02:00:32 +0000 (02:00 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@992 dcc99617-32d9-48b4-a31d-7c20da2025e4

Evergreen/staff_client/chrome/content/evergreen/util/functional.js

index ff99b27..df52039 100644 (file)
@@ -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) {