JavaScript: получить n-й по величине элемент из несортированного массива
Массив JavaScript: упражнение 34 с решением
Напишите функцию JavaScript, чтобы получить n-й по величине элемент из несортированного массива.
Тестовые данные:
console.log (nthlargest ([43, 56, 23, 89, 88, 90, 99, 652], 4));
89
Иллюстрированная презентация:
Пример решения:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript function to get nth largest element from an unsorted array.</title>
</head>
<body>
</body>
</html>
Код JavaScript:
function nthlargest(arra,highest){
var x = 0,
y = 0,
z = 0,
temp = 0,
tnum = arra.length,
flag = false,
result = false;
while(x < tnum){
y = x + 1;
if(y < tnum){
for(z = y; z < tnum; z++){
if(arra[x] < arra[z]){
temp = arra[z];
arra[z] = arra[x];
arra[x] = temp;
flag = true;
}else{
continue;
}
}
}
if(flag){
flag = false;
}else{
x++;
if(x === highest){
result = true;
}
}
if(result){
break;
}
}
return (arra[(highest - 1)]);
}
console.log(nthlargest([ 43, 56, 23, 89, 88, 90, 99, 652], 4));
Пример вывода:
89
Блок - схема:
Версия ES6:
function nthlargest(arra,highest){
let x = 0;
let y = 0;
let z = 0;
let temp = 0;
const tnum = arra.length;
let flag = false;
let result = false;
while(x < tnum){
y = x + 1;
if(y < tnum){
for(z = y; z < tnum; z++){
if(arra[x] < arra[z]){
temp = arra[z];
arra[z] = arra[x];
arra[x] = temp;
flag = true;
}else{
continue;
}
}
}
if(flag){
flag = false;
}else{
x++;
if(x === highest){
result = true;
}
}
if(result){
break;
}
}
return (arra[(highest - 1)]);
}
console.log(nthlargest([ 43, 56, 23, 89, 88, 90, 99, 652], 4));
Демонстрация в реальном времени:
См. Pen JavaScript - Получите n-й по величине элемент из несортированного массива - array-ex- 34 от w3resource ( @ w3resource ) в CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Previous: написать скрипт JavaScript для очистки массива с сохранением оригинала.
Далее: написать функцию JavaScript для получения случайного элемента из массива.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования