 # JavaScript: Find the kth greatest element of a given array of integers

## JavaScript Basic: Exercise-90 with Solution

Write a JavaScript program to find the kth greatest element of a given array of integers.

Pictorial Presentation: Sample Solution:

HTML Code:

``````<!DOCTYPE html>
<html>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Find the kth greatest element of a given array of integers.</title>
<body>

</body>
</html>
```
```

JavaScript Code:

``````function Kth_greatest_in_array(arr, k) {

for (var i = 0; i < k; i++) {
var max_index = i,
tmp = arr[i];

for (var j = i + 1; j < arr.length; j++) {
if (arr[j] > arr[max_index]) {
max_index = j;
}
}

arr[i] = arr[max_index];
arr[max_index] = tmp;
}

return arr[k - 1];
}

console.log(Kth_greatest_in_array([1,2,6,4,5], 3))
console.log(Kth_greatest_in_array([-10,-25,-47,-36,0], 1))
```
```

Sample Output:

```4
0
```

Flowchart: ES6 Version:

``````function Kth_greatest_in_array(arr, k) {

for (let i = 0; i < k; i++) {
let max_index = i;
const tmp = arr[i];

for (let j = i + 1; j < arr.length; j++) {
if (arr[j] > arr[max_index]) {
max_index = j;
}
}

arr[i] = arr[max_index];
arr[max_index] = tmp;
}

return arr[k - 1];
}

console.log(Kth_greatest_in_array([1,2,6,4,5], 3))
console.log(Kth_greatest_in_array([-10,-25,-47,-36,0], 1))
``````

Live Demo:

See the Pen javascript-basic-exercise-90 by w3resource (@w3resource) on CodePen.

What is the difficulty level of this exercise?

﻿

## JavaScript: Tips of the Day

Parameter's value

```function getItems(fruitList, ...args, favoriteFruit) {
return [...fruitList, ...args, favoriteFruit]
}

getItems(["banana", "apple"], "pear", "orange")
```

...args is a rest parameter. The rest parameter's value is an array containing all remaining arguments, and can only be the last parameter! In this example, the rest parameter was the second parameter. This is not possible, and will throw a syntax error.

```function getItems(fruitList, favoriteFruit, ...args) {
return [...fruitList, ...args, favoriteFruit];
}

getItems(['banana', 'apple'], 'pear', 'orange');```
The above example works. This returns the array [ 'banana', 'apple', 'orange', 'pear' ].

Ref: https://bit.ly/3jFRBje