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: | 124 |
| Nodes: | 16 (0 / 16) |
| Uptime: | 05:55:19 |
| Calls: | 7,351 |
| Calls today: | 3 |
| Files: | 9,250 |
| D/L today: |
207 files (44,657K bytes) |
| Messages: | 383,698 |
| Posted today: | 1 |