/    Sign up×
Community /Pin to ProfileBookmark

Duplicates array

Hi,

[code]
const intervals = [’08:00′, ’08:30′, ’09:00′, ’09:30′, ’10:00′, ’10:30′, ’11:00′, ’11:30′, ’12:00′];
const tasks =  [
{‘id’: 1, ‘title’: “Peter”, ‘time’: “09:30”},
{‘id’: 2, ‘title’: “John, ‘time’: “12:00″}
];

var html = ”;

intervals.forEach( (fromTime) => {
tasks.forEach( (task) => {
if (task.time == fromTime) {

html += `<tr>
<td>` + fromTime + `</td>
<td>` + task.title + `</td>
</tr>`;
} else {
html += `<tr>
<td>` + fromTime + `</td>
<td>` + ” + `</td>
</tr>`;
}
})
})
html = `<table style=”font-size: 10px”>` + html + `</table>`;
[/code]

Result is WRONG:

[code]
<table style=”font-size: 10px”><tr>
<td>08:00</td>
<td></td>
</tr><tr>
<td>08:00</td>
<td></td>
</tr><tr>
<td>08:30</td>
<td></td>
</tr><tr>
<td>08:30</td>
<td></td>
</tr><tr>
<td>09:00</td>
<td></td>
</tr><tr>
<td>09:00</td>
<td></td>
</tr><tr>
<td>09:30</td>
<td>Peter</td>
</tr><tr>
<td>09:30</td>
<td></td>
</tr><tr>
<td>10:00</td>
<td></td>
</tr><tr>
<td>10:00</td>
<td></td>
</tr><tr>
<td>10:30</td>
<td></td>
</tr><tr>
<td>10:30</td>
<td></td>
</tr><tr>
<td>11:00</td>
<td></td>
</tr><tr>
<td>11:00</td>
<td></td>
</tr><tr>
<td>11:30</td>
<td></td>
</tr><tr>
<td>11:30</td>
<td></td>
</tr><tr>
<td>12:00</td>
<td></td>
</tr><tr>
<td>12:00</td>
<td>John</td>
</tr></table>
[/code]

This is the result i want to get

[code]
<table style=”font-size: 10px”><tr>
<td>08:00</td>
<td></td>
</tr><tr>
<td>08:30</td>
<td></td>
</tr><tr>
<td>09:00</td>
<td></td>
</tr><tr>
<td>09:30</td>
<td>Peter</td>
</tr><tr>
<td>10:00</td>
<td></td>
</tr><tr>
<td>10:30</td>
<td></td>
</tr><tr>
<td>11:00</td>
<td></td>
</tr><tr>
<td>11:30</td>
<td></td>
</tr><tr>
<td>12:00</td>
<td>John</td>
</tr></table>
[/code]

Thanks if anyone helps.

to post a comment
JavaScript

4 Comments(s)

Copy linkTweet thisAlerts:
@NogDogApr 20.2022 — @bumbar#1643662

I replaced the back-tick characters in your post (probably you used the &lt;/&gt; button in the input pane?) with this forum's ... tags. They work much better for code blocks.
Copy linkTweet thisAlerts:
@NogDogApr 20.2022 — I'm not a JavaScript guy, but I think you want to do something like this pseudo-code:
<i>
</i>foreach intervals
html += '&lt;tr&gt;&lt;td&gt;' + fromTime + '&lt;/td&gt;'
taskName = ''
foreach tasks
if task.time == fromTime
taskName = task.title
endif
endforeach
html += '&lt;td&gt;' + taskName + '&lt;td&gt;&lt;/tr&gt;'
endforeach
Copy linkTweet thisAlerts:
@bumbarauthorApr 21.2022 — it works. Thank you!
Copy linkTweet thisAlerts:
@NogDogApr 21.2022 — @bumbar#1643667

Cool. Glad it helped. :)
×

Success!

Help @bumbar spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.23,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...