
Security News
The Next Open Source Security Race: Triage at Machine Speed
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.
@humanwhocodes/bubble-sort
Advanced tools
If you find this useful, please consider supporting my work with a donation.
This is an implementation of the bubble sort algorithm in JavaScript. The function sorts an array in place.
Note: You should always use the builtin sort() method on arrays in your code because it is already optimized for production use. This implementation should be used for learning purposes only.
Use CommonJS to get access to the bubbleSort() function:
const { bubbleSort } = require("@humanwhocodes/bubble-sort");
const items = [1, 5, 2];
const result = bubbleSort(items);
console.log(result); // [1, 2, 5]
You may find the code style of this module to be overly verbose with a lot of comments. That is intentional, as the primary use of this module is intended to be for educational purposes. There are frequently more concise ways of implementing the details of this class, but the more concise ways are difficult for newcomers who are unfamiliar with linked lists as a concept or JavaScript as a whole.
As this is part of series of tutorials I'm writing, only bug fixes will be accepted. No new functionality will be added to this module.
MIT
FAQs
A bubble sort implementation in JavaScript
We found that @humanwhocodes/bubble-sort demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.

Research
/Security News
Malicious dYdX client packages were published to npm and PyPI after a maintainer compromise, enabling wallet credential theft and remote code execution.

Security News
gem.coop is testing registry-level dependency cooldowns to limit exposure during the brief window when malicious gems are most likely to spread.