diff --git a/src/as/com/threerings/util/ArrayUtil.as b/src/as/com/threerings/util/ArrayUtil.as index acafcc23c..79448115a 100644 --- a/src/as/com/threerings/util/ArrayUtil.as +++ b/src/as/com/threerings/util/ArrayUtil.as @@ -45,6 +45,32 @@ public class ArrayUtil return arr; } + /** + * Get an array containing the property keys of the specified object, in their + * natural iteration order. + */ + public static function keys (obj :Object) :Array + { + var arr :Array = []; + for (var k :* in obj) { // no "each": iterate over keys + arr.push(k); + } + return arr; + } + + /** + * Get an array containing the property values of the specified object, in their + * natural iteration order. + */ + public static function values (obj :Object) :Array + { + var arr :Array = []; + for each (var v :* in obj) { // "each" iterates over values + arr.push(v); + } + return arr; + } + /** * Creates a shallow copy of the array. *