Re: Merge map values

2015-04-28 Thread Andrea Giammarchi
Moreover `undefined|0` is exactly 0. The `|0` is used in asm.js because it explicitly declares the intent. So again, no error in there ;-) Regards On Tue, Apr 28, 2015 at 1:58 PM, Andrea Giammarchi andrea.giammar...@gmail.com wrote: Now you read again the exercise and realize that's

Re: Merge map values

2015-04-28 Thread Kevin Smith
Another option: var map = new Map; Array.from(mainn) .map(c = c.toLowerCase()) .forEach(c = map.set(c, (map.get(c) | 0) + 1)); This kind of question is probably better left for StackOverflow, however. ___ es-discuss mailing list

RE: Merge map values

2015-04-28 Thread Mohan.Radhakrishnan
; Radhakrishnan, Mohan (Cognizant); es-discuss list Subject: Re: Merge map values Not sure why everyone went for the `Map` version when in JS every object is basically the equivalent of a `Map` already :-) ```js let m = Array.from(mainn).reduce((m,k) = ((m[k] = 1 + (m[k] | 0)), m), {}); ``` looks

Re: Merge map values

2015-04-28 Thread Andrea Giammarchi
Now you read again the exercise and realize that's impossible to have as a piutfall ... no, I just used a KISS approach for what I can tell, no pitfalls with one single surrogate could happen by specs. Best Regards On Tue, Apr 28, 2015 at 1:57 PM, Axel Rauschmayer a...@rauschma.de wrote: With

Re: Merge map values

2015-04-28 Thread Axel Rauschmayer
The best I can come up with is a totally different, less functional approach: ```js const s = 'mainn'; let map = new Map(); for (let ch of s) { ch = ch.toLowerCase(); const prevCount = map.get(ch) || 0; map.set(ch, prevCount+1); } ``` On 28 Apr 2015, at 10:52 ,

Re: Merge map values

2015-04-28 Thread Andrea Giammarchi
Not sure why everyone went for the `Map` version when in JS every object is basically the equivalent of a `Map` already :-) ```js let m = Array.from(mainn).reduce((m,k) = ((m[k] = 1 + (m[k] | 0)), m), {}); ``` looks a win to me, if you need to check or drop chars from the string I would probably

Re: Merge map values

2015-04-28 Thread Andrea Giammarchi
Sorry Axel, I was rushing, it sounded over-rude ... so, yes, Map are better for words, **but** in this specific case it was about all chars/surrogate pairs, that's why I've said Objects where safe ... plus the rest, reduce also is very handy for this exact kind of things ;-) But yes, if it was a

Merge map values

2015-04-28 Thread Mohan.Radhakrishnan
Hi, I am using ES6 by transpiling. The features remind me of Java lambdas. If I have a string 'mainn' then my map should contain this. [a=1, i=1, m=1, n=2] Java : Example. I may not need the TreeMap here. String s = __mainn__.replaceAll([^a-z\\s], ); final MapCharacter, Integer count =

Re: Merge map values

2015-04-28 Thread Jordan Harband
Would `new Map(maps.reduce((e, m) = e.concat(Array.from(m)), []))` not create a new Map from merging an array of `maps`? (It relies on the `Map.prototype.[Symbol.iterator]` which is `Map#entries`, and the `iterable` argument of the `Map` constructor) On Tue, Apr 28, 2015 at 6:06 AM, Andrea

RE: Merge map values

2015-04-28 Thread Mohan.Radhakrishnan
//} //} } Thanks, Mohan From: Radhakrishnan, Mohan (Cognizant) Sent: Tuesday, April 28, 2015 2:23 PM To: 'es-discuss@mozilla.org' Subject: Merge map values Hi, I am using ES6 by transpiling. The features remind me of Java lambdas. If I have a string 'mainn' then my map should contain this. [a=1, i=1