Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e6b814b

Browse files
committed
feat: Implement functions 1 & 3 for array ex. 20
1 parent d2d3a6b commit e6b814b

File tree

2 files changed

+52
-5
lines changed

2 files changed

+52
-5
lines changed

‎README.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -288,15 +288,15 @@ These exercises were developed as part of:
288288
![Status](https://img.shields.io/badge/Status-Complete-brightgreen)
289289

290290
* Exercises **01-07**
291-
* Started: June 2025
292-
* Completed: June 2025
291+
* Started: July 2025
292+
* Completed: July 2025
293293

294294
**II. Additional Practice Exercises**
295295

296296
![Status](https://img.shields.io/badge/Status-In%20Progress-yellow)
297297

298-
* Exercises **08-18**
299-
* Started: June 2025
298+
* Exercises **08-20**
299+
* Started: July 2025
300300
* Completed:
301301

302302
---
@@ -325,7 +325,7 @@ These exercises were developed as part of:
325325
| 17 | [Game Inventory](#exercise-arr-17-game-inventory) | ✔️ 🧪| [Solution](./array-exercises/17_gameInventory.js) |
326326
| 18 | [Kubrick Filmography](#exercise-arr-18-kubrick-filmography) | ✔️ 🧪 | [Solution](./array-exercises/18_kubrickFilmography.js) |
327327
| 19 | [Literature Analysis](#exercise-arr-19-literature-analysis) | ✔️ 🧪 | [Solution](./array-exercises/19_literatureAnalysis.js) |
328-
| 20 | [Space Missions](#exercise-arr-20-space-missions) ||
328+
| 20 | [Space Missions](#exercise-arr-20-space-missions) || [Solution](./array-exercises/20_spaceMissions.js)|
329329

330330

331331

‎array-exercises/20_spaceMissions.js‎

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Initial data
2+
3+
const missions = [
4+
['Apollo 11', 1969, 'Success', ['Neil Armstrong', 'Buzz Aldrin']],
5+
['Voyager 1', 1977, 'Success', ['N/A']],
6+
['Hubble Telescope', 1990, 'Success', ['N/A']],
7+
['Mars Rover', 2003, 'Success', ['N/A']],
8+
['ISS Expedition 1', 2000, 'Success', ['William Shepherd', 'Yuri Gidzenko', 'Sergei Krikalev']],
9+
['Artemis I', 2022, 'Success', ['N/A']],
10+
['Starship Launch', 2023, 'Failed', ['N/A']],
11+
['Mars Sample Return', 2027, 'In Progress', ['N/A', 'N/A']]
12+
];
13+
14+
console.groupCollapsed(`List of space missions`);
15+
function displayMissions (spaceMissions){
16+
console.log(`🚀 Original list of space missions: `);
17+
console.table(spaceMissions);
18+
}
19+
displayMissions(missions);
20+
console.groupEnd();
21+
22+
// 1 - Get All Successfull Misssions
23+
24+
console.groupCollapsed(`I. Get All Successfull Missions`);
25+
function getAllSuccessfullMissions(spaceMissions){
26+
let success = spaceMissions.filter((mission) => mission[2] === 'Success');
27+
let successNames=success.map((mission) => mission[0]); // only the names
28+
console.log(`🛰️ Names of sucessfull missions: `,successNames);
29+
}
30+
getAllSuccessfullMissions(missions);
31+
console.groupEnd();
32+
33+
// 2 - Get Average Crew Size By Decade
34+
35+
// 3 - Find Unique Crew Members
36+
37+
console.groupCollapsed('III. Find Unique Crew Members')
38+
function findUniqueCrewMembers(spaceMissions){
39+
const onlyCrew = spaceMissions.map((mission)=> mission[3]); //get 3rd index from each mission(crew)
40+
const flattenedCrew = onlyCrew.flat((Infinity));
41+
const filteredMembers = flattenedCrew.filter(member => member !== 'N/A'); // filter - not 'N/A'
42+
const uniqueMembers = [...new Set(filteredMembers)]; // remove potential duplicates [...new Set()]
43+
console.log(`👨‍🚀 Unique crew members are: : ${uniqueMembers}.`);
44+
return uniqueMembers;
45+
}
46+
findUniqueCrewMembers(missions);
47+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /