From fcf27d76952d1beeb1ff14777069855350ececbe Mon Sep 17 00:00:00 2001 From: phasefx Date: Thu, 30 Jun 2005 02:00:32 +0000 Subject: [PATCH] filter, map, & find for objects git-svn-id: svn://svn.open-ils.org/ILS/trunk@992 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../chrome/content/evergreen/util/functional.js | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) 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) { -- 2.11.0