var keys = $H(obj).keys();

http://prototypejs.org/api/hash/keys

--

http://positionabsolute.net


On Aug 10, 10:46 am, "Alex McAuley" <[email protected]>
wrote:
> You can prolly sort the order if you wanted it in some kind of order but its
> not needed in my opinion!
>
> Alex Mcauleyhttp://www.thevacancymarket.com
>
> ----- Original Message -----
> From: "T.J. Crowder" <[email protected]>
> To: "Prototype & script.aculo.us" <[email protected]>
> Sent: Monday, August 10, 2009 3:37 PM
> Subject: [Proto-Scripty] Re: Getting keys from a JSON object returned from
> transport.responseText.evalJSON(); or for that matter any JSON object
>
> Hi,
>
> Regardless of where the object came from (having evaluated it from a
> JSON string or something else), that's what "for..in" is for:
>
>     var name, obj = "{'a': 1, 'b': 2}".evalJSON();
>     for (name in obj) {
>         alert(name + "=" + obj[name]);
>     }
>
> ...alerts "a=1" then "b=2".  The order is not guaranteed.  Cool, eh?
>
> Speaking generally, "for..in" iterates through the names of the
> properties in the object.  Note that depending on the object in
> question, some of those properties may refer to functions:
>
>     var obj = {
>         foo: function() {
>             alert("Foo!");
>         },
>         bar: 42
>     };
>     var name;
>     for (name in obj) {
>         alert("typeof obj[" + name + "] = " + typeof obj[name]);
>     }
>
> ...alerts "obj[foo] = function" and "obj[bar] = number".
>
> "for..in" includes properties an object has inherited from its
> prototype:
>
>     var a = ['one', 'two'];
>     var name;
>     for (name in a) {
>         alert("typeof a[" + name + "] = " + typeof a[name]);
>     }
>
> ...will not only alert "a[0] =one" and "a[1] = 2" but also any other
> enumerable properties on arrays.  In most implementations, there
> aren't any other *enumerable* properties (some properties can be
> marked "dontEnum", but only by the implementation, not our code), but
> when you're using Prototype, there are lots -- because Prototype adds
> lots of properties to the Array prototype referencing additional nifty
> Array functions.  Which is why you don't use "for..in" to loop through
> array elements, there could be more than just the array elements.[1]
>
> You can filter out the properties that are inherited from the
> prototype by using hasOwnProperty:
>
>     var a = ['one', 'two'];
>     var name;
>     for (name in a) {
>         if (a.hasOwnProperty(name)) {
>             alert("typeof a[" + name + "] = " + typeof a[name]);
>         }
>     }
>
> ...will only alert the two you expect.
>
> All of the above is JavaScript, not Prototype; details in the spec[2].
>
> [1]http://proto-scripty.wikidot.com/prototype:tip-looping-through-arrays
> [2]http://www.ecma-international.org/publications/standards/Ecma-262.htm
>
> HTH, have fun!
> --
> T.J. Crowder
> tj / crowder software / com
> Independent Software Engineer, consulting services available
>
> On Aug 10, 2:54 pm, krishna81m <[email protected]> wrote:
> > I tried to google and search prototype API for a method that will give
> > me just the keys in a JSON object.
>
> > Is there none in Prototype and no way to know the keys?
>
> > Regards
> > Krishna
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to