Skip to content

Conversation

@TedMwai
Copy link
Contributor

@TedMwai TedMwai commented Nov 24, 2022

Previous removeAt function would throw a type error if the index is equals to the length of the list. This is because the first if statement in the removeAt function checked if the index is greater or equals to the length of the list whereas it should only check if the index is greater than the length and if true, it should throw a type error.

Open in Gitpod know more

Describe your change:

  • Fix a bug or typo in the first if statement inside the removeAt() function

Checklist:

  • I have read CONTRIBUTING.md.
  • This pull request is all my own work -- I have not plagiarized.
  • I know that pull requests will not be merged if they fail the automated tests.
  • This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
  • All new JavaScript files are placed inside an existing directory.
  • All filenames should use the UpperCamelCase (PascalCase) style. There should be no spaces in filenames.
    Example:UserProfile.js is allowed but userprofile.js,Userprofile.js,user-Profile.js,userProfile.js are not
  • All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
  • If this pull request resolves one or more open issues then the commit message contains Fixes: #{$ISSUE_NO}.

Previous removeAt function would throw a type error if the index is equals to the length of the list. This is because the check at line 184 checked if the index is greater or equals to the length of the list whereas it should only check if the index is greater than the length and if true, it should throw a type error.
Copy link
Collaborator

@appgurueu appgurueu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can't be quite right either. It seems the code intended to use 0-based indexing. This would give us indices from 0 (first) to length - 1 (last), which is what the code correctly checks against. The later check index === this.length is presumably wrong however and should be fixed to be index === this.length - 1.

Also, please add tests.

@appgurueu appgurueu added on hold Being discussed by the maintainers fix Fixes a bug labels Nov 24, 2022
@TedMwai TedMwai closed this Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix Fixes a bug on hold Being discussed by the maintainers

3 participants