кодесурса
«JavaScript

JavaScript: выполнять стабильную сортировку массива, сохраняя начальные индексы элементов, когда их значения совпадают

script1adsense2code
script1adsense3code

Основы JavaScript (синтаксис ES6): упражнение 137 с решением

Напишите программу на JavaScript для стабильной сортировки массива, сохраняя начальные индексы элементов, когда их значения совпадают. Не изменяйте исходный массив, но вместо этого возвращает новый массив.

Пример решения:

HTML-код:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Perform stable sorting of an array, preserving the initial indexes of items when their values are the same</title>
</head>
<body>
</body>
</html>

Код JavaScript:

//#Source https://bit.ly/2neWfJ2 
const stableSort = (arr, compare) =>
  arr
    .map((item, index) => ({ item, index }))
    .sort((a, b) => compare(a.item, b.item) || a.index - b.index)
    .map(({ item }) => item);
const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
console.log(stableSort(arr, () => 0));

Пример вывода:

 [0,1,2,3,4,5,6,7,8,9,10]

Блок - схема:

«Блок-схема:

Демонстрация в реальном времени:

См. Pen javascript-basic-упражнение-137-1 от w3resource ( @ w3resource ) в CodePen .


Улучшите этот пример решения и опубликуйте свой код через Disqus

Предыдущий: Напишите программу на JavaScript для генерации всех перестановок строки (содержит дубликаты).
Далее: Напишите программу на JavaScript, которая принимает переменную функцию и возвращает замыкание, которое принимает массив аргументов для сопоставления с входными данными функции.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code