function getAndRemoveNthHighest(arr, n) {
if (n < 1 || n > arr.length) return null;
// Create a sorted copy of the array (descending order)
const sortedCopy = [...arr].sort((a, b) => b - a);
const valueToRemove = sortedCopy[n - 1];
// Find and remove the first occurrence in the original array
const indexToRemove = arr.indexOf(valueToRemove);
arr.splice(indexToRemove, 1);
return valueToRemove;
}
// Example usage:
let numbers = [1, 3, 56, 78, 90, 5, 75, 89];
console.log(getAndRemoveNthHighest(numbers, 1)); // 90 (array modified)
console.log(numbers); // [1, 3, 56, 78, 5, 75, 89]
console.log(getAndRemoveNthHighest(numbers, 4)); // 56 (array modified again)
console.log(numbers); // [1, 3, 78, 5, 75, 89]