JavaScript: Получить максимальный индекс, при котором значение должно быть вставлено в массив, чтобы поддерживать его порядок сортировки, на основе предоставленной функции итератора
JavaScript: упражнение-140 с решением
Напишите программу на JavaScript, чтобы получить самый высокий индекс, при котором значение должно быть вставлено в массив, чтобы поддерживать его порядок сортировки на основе предоставленной функции итератора.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Get the highest index at which value should be inserted into array in order to maintain its sort order, based on a provided iterator function</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const sortedLastIndexBy = (arr, n, fn) => {
const isDescending = fn(arr[0]) > fn(arr[arr.length - 1]);
const val = fn(n);
const index = arr
.map(fn)
.reverse()
.findIndex(el => (isDescending ? val <= el : val >= el));
return index === -1 ? 0 : arr.length - index;
};
console.log(sortedLastIndexBy([{ x: 4 }, { x: 5 }], { x: 4 }, o => o.x));
Пример вывода:
1
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-140-1 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на JavaScript, чтобы разбить многострочную строку на массив строк.
Далее: Напишите программу на JavaScript, чтобы получить самый высокий индекс, при котором значение должно быть вставлено в массив, чтобы поддерживать его порядок сортировки.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования