Hacker News new | past | comments | ask | show | jobs | submit login

This is one of those features that I've read Lua has and JS doesn't that sounds really good in theory. But I haven't ever run into a situation where I've wanted an index other than a number or string. It's probably just a blub paradox though; I'm curious, in what situations are other values particularly useful as keys?



Any time you ever need to map an object to another object, you need this functionality.

Without a memory address, object's don't have any other unique values associated with them. It's actually a pretty fundamental problem.

Of course, like most things wrong with javascript, you can fix it if you work for it. Objective-J fixes all the things we had problems with, and this is one of them. A lot of things in Cappuccino would not be possible without the hashing feature Tom mentioned.

As a hash table, JavaScript objects are pretty awful. You can't get a count of objects unless you literally count all the keys. And you can't iterate over the keys if anyone else has added anything to the Object prototype.

Cappuccino has a proper hash table, CPDictionary, which solves both of those problems. There's a lot of other data structures that address some of the author's listed concerns.


In Lua I've done stuff like maps of functions to tables of functions for permuting different methods of computation... kinda wacky but it does what I need.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: