-
-
Notifications
You must be signed in to change notification settings - Fork 279
Sheffield | 26-ITP-Jan | Mona -Eltantawy | Sprint 1 | Data- Groups/sprint 1 #1076
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Mona-Eltantawy
wants to merge
14
commits into
CodeYourFuture:main
Choose a base branch
from
Mona-Eltantawy:Module--Data-groups/Sprint-1
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
5111c34
Created New branch for Sprint 1.
Mona-Eltantawy a42c61e
I imlemented a dedupe function.
Mona-Eltantawy 3d8c902
I created different test cases for dedupe empty array, arry with dubl…
Mona-Eltantawy 5728131
implemented a find max function.
Mona-Eltantawy 2831927
I wrote diffrent test cases to find the max in cases for empty array …
Mona-Eltantawy a81d757
I implemented a function that gets the sum fo the number vlaues in an…
Mona-Eltantawy 15fa2b2
I wrote different test cases for the sum function.
Mona-Eltantawy 8c07074
re edited the expected output for the decimal/float numbers test.
Mona-Eltantawy 0703841
I fixed the implementation of the calculateMedian function and run th…
Mona-Eltantawy 83a0c0d
I fixed the function to return the expected values for vlaues like NaN
Mona-Eltantawy fa48648
I added string "300" to the test cases for non numeric vlaues test case.
Mona-Eltantawy de75f9b
I changed .toEqual in the decimal and float numbers test case to: .t…
Mona-Eltantawy 69ce1b5
fixed the function
Mona-Eltantawy 9247a93
fixed the function. and it passed the jest tests
Mona-Eltantawy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,14 +1,27 @@ | ||
| // Fix this implementation | ||
| // Start by running the tests for this function | ||
| // If you're in the Sprint-1 directory, you can run `npm test -- fix` to run the tests in the fix directory | ||
| function calculateMedian(list) { | ||
| // Check if input is an array | ||
| if (!Array.isArray(list)) return null; | ||
|
|
||
| // Hint: Please consider scenarios when 'list' doesn't have numbers (the function is expected to return null) | ||
| // or 'list' has mixed values (the function is expected to sort only numbers). | ||
| // Filter only valid numbers | ||
| const numbers = list.filter( | ||
| (item) => typeof item === "number" && !isNaN(item) | ||
| ); | ||
|
|
||
| function calculateMedian(list) { | ||
| const middleIndex = Math.floor(list.length / 2); | ||
| const median = list.splice(middleIndex, 1)[0]; | ||
| return median; | ||
| // Return null if no valid numbers | ||
| if (numbers.length === 0) return null; | ||
|
|
||
| // Sort numbers without mutating original array | ||
| const sorted = [...numbers].sort((a, b) => a - b); | ||
|
|
||
| const middle = Math.floor(sorted.length / 2); | ||
|
|
||
| // If even length, return average of two middle numbers | ||
| if (sorted.length % 2 === 0) { | ||
| return (sorted[middle - 1] + sorted[middle]) / 2; | ||
| } | ||
|
|
||
| // If odd length, return middle value | ||
| return sorted[middle]; | ||
| } | ||
|
|
||
| module.exports = calculateMedian; | ||
| module.exports = calculateMedian; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,5 @@ | ||
| function dedupe() {} | ||
| function dedupe(arr) { | ||
| const set = new Set(arr); | ||
| return [...set]; | ||
| } | ||
| module.exports = dedupe; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,7 @@ | ||
| function findMax(elements) { | ||
| function findMax(arr) { | ||
| return arr | ||
| .filter((item) => typeof item === "number" && Number.isFinite(item)) | ||
| .reduce((acc, num) => (num > acc ? num : acc), -Infinity); | ||
| } | ||
|
Comment on lines
+1
to
5
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This function is not working as expected. Can you fix it?
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I fixed it . Thanks CJ . |
||
|
|
||
| module.exports = findMax; | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,7 @@ | ||
| function sum(elements) { | ||
| function sum(arr) { | ||
| return arr | ||
| .filter((item) => typeof item === "number") | ||
| .reduce((acc, num) => acc + num, 0); | ||
| } | ||
|
|
||
| module.exports = sum; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note:
Number.isFinite(item)also checkstypeof item === "number"