var has_dup = false;
has_dup[i] = true;
var dups=0;
var dups;
Re: Learning arrays
By: Mortifis to All on Wed Jul 17 2019 11:09:38
var has_dup = false;
This is not an array, so later when you do this:
has_dup[i] = true;
you're setting property [i] on a boolean to 'true'. Interestingly this doesn't generate an
error, but it also doesn't store that property/value.
Instead of this:
var has_dup = false;
you probably want this:
var has_dup = [];
Note that you're also declaring 'dups' twice:
var dups=0;
var dups;
So by the time your script gets down to business, 'dups' is undefined and your 'dups++'
won't work. (Just remove that 'var dups;' line.)
Your nested for loop could be sped up a little bit:
for (var n = i + 1; n <= lastuser; n++) {
You've already dupe-checked all users up to i, and you want to start with users beginning at
i + 1. This would also remove the need for the 'if(u.number == d.number) continue;' check.
I could go on with some other suggestions, but I'll stop here for now.
| Sysop: | Eric Oulashin |
|---|---|
| Location: | Beaverton, Oregon, USA |
| Users: | 104 |
| Nodes: | 16 (0 / 16) |
| Uptime: | 20:02:21 |
| Calls: | 7,088 |
| Calls today: | 7 |
| Files: | 9,223 |
| D/L today: |
182 files (25,958K bytes) |
| Messages: | 374,157 |