Discussion:
[nodejs] Custom class object as Key in a Map
Jay Sharma
2018-09-28 12:17:56 UTC
Permalink
Hello All,

I am new to nodejs/js, I have some query regarding the implementation of
Map [Key-Value pair]

Like in java Maps, we can have custom object as key.

Class Test {
int i;
}




public static void main(String args[]) {
Test obj = new Test();
Map<Test, String> map= new HashMap<Test, String>();
map.put(obj, "TestString");
}


Can we have similar thing in JS ?
--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/36dd5efe-ae74-422c-a39d-46f420332aa7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
kai zhu
2018-09-29 06:33:43 UTC
Permalink
hi Jay, javascript already has the Map class [1], illustrated with the following example code.

```js
/*jslint*/
"use strict";
var Test;
var map;
var obj;
Test = function () {
return;
};
map = new Map();
obj = new Test();
map.set(obj, "TestString");
// Map { Test {} => 'TestString' }
```

[1] Map - JavaScript | MDN
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map>

kai zhu
Post by Jay Sharma
Hello All,
I am new to nodejs/js, I have some query regarding the implementation of Map [Key-Value pair]
Like in java Maps, we can have custom object as key.
Class Test {
int i;
}
public static void main(String args[]) {
Test obj = new Test();
Map<Test, String> map= new HashMap<Test, String>();
map.put(obj, "TestString");
}
Can we have similar thing in JS ?
--
Job board: http://jobs.nodejs.org/ <http://jobs.nodejs.org/>
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md <https://gist.github.com/othiym23/9886289#file-moderation-policy-md>
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines <https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines>
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/36dd5efe-ae74-422c-a39d-46f420332aa7%40googlegroups.com <https://groups.google.com/d/msgid/nodejs/36dd5efe-ae74-422c-a39d-46f420332aa7%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout>.
--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/CC6A2DE9-0781-4951-AD1C-64948201C6F4%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
Zlatko
2018-09-29 09:06:39 UTC
Permalink
Yes, in pretty much the same way: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

There's more on that link, like Setc and WeakMap, so check them out, see what works best for your use case.
--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/56d1fbde-8099-4afc-9f54-dd72fd55c61c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...