Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 98 additions & 5 deletions arrays.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ Expected Output:
// ✍️ Solve it here ✍️





const inventory =["Apples","Bread","Milk","Eggs"];
inventory.push("Orange","Banana")
inventory.shift()
console.log(inventory)
/*
Task 2: Student Attendance Checker 📚✅

Expand All @@ -41,10 +42,23 @@ Output: "Ali is present."
// ✍️ Write your function here ✍️


const student= {ali: true,
fatima: false,
hassan: true,
layla: false
}
Object.entries(student).forEach(([name, isPresent]) => {
if (isPresent) {

console.log( name,"is present");
} else
{
console.log(name ," is Absent");
}



});

/*
Task 3: Top Scorers Leaderboard 🏆⚽

Expand All @@ -68,8 +82,32 @@ Output: Sorted leaderboard with updated scores
// ✍️ Write your functions here ✍️


const topScorers = [
{ name: "Messi", score: 5 },
{ name: "Ronaldo", score: 3 },
{ name: "Neymar", score: 4 },
];

function updateScore(playerName, additionalScore) {
const foundPlayer = topScorers.find(scorer => scorer.name === playerName);
if (foundPlayer) {
foundPlayer.score += additionalScore;
} else {
topScorers.push({ name: playerName, score: additionalScore });
}
}

function printLeaderboard() {
const sortedScorers = [...topScorers].sort((a, b) => b.score - a.score);
sortedScorers.forEach(scorer => {
console.log(`${scorer.name}: ${scorer.score}`);
});
}

// Example usage:
updateScore("Ronaldo", 2); // Adds 2 to Ronaldo's score
updateScore("Mbappe", 6); // Adds Mbappe to the leaderboard with a score of 6
printLeaderboard(); // Prints the sorted leaderboard



Expand Down Expand Up @@ -138,4 +176,59 @@ Final Output:
- "The treasure remains hidden. Try again!" (if danger is encountered)
- "Congratulations! You found the ultimate treasure!" (if all conditions are met)

*/
// */
const clues = ["Map", "Compass", "Key", "Shovel"];
const clueMessages = ["ppaM", "ssapmoC", "yeK", "levohS"];
const treasureMapSteps = ["Start at the beach", "Cross the forest", "Climb the mountain", "Danger", "Treasure"];

function findClue(clues, clueName) {
return clues.includes(clueName);
}

function decipherMessage(clueMessages) {
return clueMessages.map(message => message.split('').reverse().join(''));
}

function followSteps(treasureMapSteps) {
for (let i = 0; i < treasureMapSteps.length; i++) {
console.log(`Step ${i + 1}: ${treasureMapSteps[i]}`);
if (treasureMapSteps[i] === "Danger") {
console.log("Stopped at danger. Cannot continue.");
break;
}
}
}

function finalTreasureHunt() {
let allCluesFound = true;
for (const clue of clues) {
if (!findClue(clues, clue)) {
allCluesFound = false;
break;
}
}

const decipheredMessages = decipherMessage(clueMessages);
let messagesMatch = true;
for (let i = 0; i < clues.length; i++) {
if (clues[i] !== decipheredMessages[i]) {
messagesMatch = false;
break;
}
}

followSteps(treasureMapSteps);
let reachedTreasure = treasureMapSteps[treasureMapSteps.length - 1] === "Treasure";

if (allCluesFound && messagesMatch && reachedTreasure) {
console.log("Congratulations! You found the ultimate treasure!");
} else {
console.log("The treasure remains hidden. Try again!");
}
}

// Test the functions
console.log(findClue(clues, "Map")); // "Clue Map found!"
console.log(decipherMessage(clueMessages)); // ["Map", "Compass", "Key", "Shovel"]
followSteps(treasureMapSteps);
finalTreasureHunt();
44 changes: 40 additions & 4 deletions callbacks.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,16 @@ Expected Output:

// ✍️ Solve it here ✍️

function sendMessage(name, callback) {
callback(name);
}

function welcomeMessage(name) {
console.log(`Welcome, ${name}!`);
}

sendMessage("Amina", welcomeMessage);




Expand Down Expand Up @@ -48,11 +58,25 @@ Expected Output:

// ✍️ Solve it here ✍️




function checkTemperature(temp, callback){
callback(temp)
}
function evaluateTemperature(temp){
if (temp > 30) {
console.log(`${temp}°C is Hot.`);
} else if (temp >= 15 && temp <= 30) {
console.log(`${temp}°C is Warm.`);
} else {
console.log(`${temp}°C is Cold.`);
}
}

checkTemperature(35, evaluateTemperature);
checkTemperature(22, evaluateTemperature);
checkTemperature(10, evaluateTemperature);

/*
Task 3: Quiz Evaluator 📚📚📚📚
STRETCH: Task 3: Quiz Evaluator 📚📚📚📚

You are building a quiz system. Write a function called `evaluateAnswer` that:
1. Takes a question, a correct answer, and a callback function as arguments.
Expand All @@ -73,3 +97,15 @@ Expected Output:
*/

// ✍️ Solve it here ✍️
function evaluateAnswer(question, correctAnswer, callback) {
const userAnswer = prompt(question); // or you can manually set a value for testing
callback(userAnswer, correctAnswer);
}

function checkAnswer(userAnswer, correctAnswer) {
if (userAnswer === correctAnswer) {
console.log("Correct!");
} else {
console.log(`Incorrect. The correct answer is ${correctAnswer}.`);
}
}
4 changes: 4 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,9 @@
<h1>Look at the console to see the results</h1>

<!-- Before starting, add the javascript files in this html fie -->
<script src="/Week5_JS_Assignment/arrays.js"></script>
<script src="/Week5_JS_Assignment/callbacks.js"></script>
<script src="/Week5_JS_Assignment/objects.js"></script>

</body>
</html>
51 changes: 51 additions & 0 deletions objects.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,22 @@ Expected Output:
*/

// ✍️ Solve it here ✍️
const gamerProfile = {
username: "ShadowSlayer",
level: 5,
isOnline: false
};

function updateOnlineStatus(profile, status) {
profile.isOnline = status;
if (status) {
console.log(`${profile.username} is now online.`);
} else {
console.log(`${profile.username} is now offline.`);
}
}

updateOnlineStatus(gamerProfile, true);



Expand Down Expand Up @@ -64,6 +80,21 @@ Expected Output:

// ✍️ Solve it here ✍️

const dress = {
name: "Evening Gown",
size: "M",
inStock: true
};

function checkAvailability(dressItem) {
if (dressItem.inStock) {
console.log(`${dressItem.name} is available in size ${dressItem.size}.`);
} else {
console.log(`${dressItem.name} is out of stock.`);
}
}

checkAvailability(dress);


/*
Expand Down Expand Up @@ -104,3 +135,23 @@ Features:
*/

// ✍️ Solve it here ✍️
const supercar = {
model: "Ferrari SF90",
price: 500000,
features: {
color: "Red"
}
};

function addFeature(car, featureName) {
car.features[featureName] = true;
console.log(`${featureName} has been added to ${car.model}.`);
}

addFeature(supercar, "turbo");

// Log all features using for...in loop
console.log("Features:");
for (let feature in supercar.features) {
console.log(`- ${feature}: ${supercar.features[feature]}`);
}