Skip to content

Instantly share code, notes, and snippets.

@gusanthiago
Last active October 11, 2019 01:20
Show Gist options
  • Save gusanthiago/2717bb1dc4e4ac3f22ffe30f57176807 to your computer and use it in GitHub Desktop.
Save gusanthiago/2717bb1dc4e4ac3f22ffe30f57176807 to your computer and use it in GitHub Desktop.
const insertNewElementInOrderedArray = (orderedArray, newElement) => {
const size = orderedArray.length;
if (size === 0) {
return [newElement];
}
if (newElement < orderedArray[0]) {
orderedArray.unshift(newElement);
return orderedArray;
}
for (let i=1; i < size; i++) {
if (newElement >= orderedArray[i - 1] && newElement <= orderedArray[i]) {
orderedArray.splice(i, 0, newElement);
return orderedArray;
}
}
return [...orderedArray, newElement];
};
let arr = [2, 1, 3, 6];
arr.sort();
console.log(arr = insertNewElementInOrderedArray(arr, -1));
console.log(arr = insertNewElementInOrderedArray(arr, 7));
console.log(arr = insertNewElementInOrderedArray(arr, 4));
console.log(arr = insertNewElementInOrderedArray(arr, 10));
console.log(arr = insertNewElementInOrderedArray(arr, 8));
console.log(arr = insertNewElementInOrderedArray(arr, -2));
console.log(arr = insertNewElementInOrderedArray(arr, -2));
console.log(arr = insertNewElementInOrderedArray(arr, 10));
console.log(arr = insertNewElementInOrderedArray(arr, 4));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment