Recent contacts view on home screen

Hi guys, I've added some logic to create the recent contacts view. It took me a while and a lot of searching to create this functionality. With this branch, recent contacts are parsed in home.js, and listed out in descending order by the number of occurrence (the more common a name appears on screen, the higher it is on the list).
The number of contacts is limited to 5 and the user's own name is omitted from the list.

 However, there is still a part where I still don't understand (I know, I coded this up O_o). Particularly between line 124 to 134 of home.js. 
Hopefully y'all can shed some light on this and review the PR in the meantime!

Cheers! :smiley: 
Great question! The `++` iterator can actually be used in two ways: either pre-variable (such as `++j`) or post-variable (such as `j==`). These two actually do different things. `++j` will actually increment j before it is used in the operation that it's specified in. Hence, running `uniqueArray[++j]` above the first time would first increment `j` from 0 to 1 and then take `uniqueArray[1]`.

`j++`, on the other hand, does just the opposite. It first completes the operation first and then increments j. Hence, running `uniqueArray[j++]` above in the first pass will look for `uniqueArray[0]` and then increment `j` from 0 to 1. Therefore what you've done above looks correct! The code only incremenst j after  `uniqueArray[j] = arrResultObj[item]` finishes executing.