JavaScript фундаментальный: получить отсортированный массив объектов, упорядоченных по свойствам и порядкам
Основы JavaScript (синтаксис ES6): упражнение 37 с решением
Напишите программу на JavaScript, чтобы получить отсортированный массив объектов, упорядоченных по свойствам и порядкам.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Get a sorted array of objects ordered by properties and orders</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const orderBy = (arr, props, orders) =>
[...arr].sort((a, b) =>
props.reduce((acc, prop, i) => {
if (acc === 0) {
const [p1, p2] = orders && orders[i] ==='desc' ? [b[prop], a[prop]] : [a[prop], b[prop]];
acc = p1 > p2 ? 1 : p1 < p2 ? -1 : 0;
}
return acc;
}, 0)
);
const users = [{ name: 'fred', age: 48 }, { name: 'barney', age: 36 }, { name: 'fred', age: 40 }];
console.log(orderBy(users, ['name', 'age'], ['asc', 'desc']));
console.log(orderBy(users, ['name', 'age']));
Пример вывода:
[{ "Имя": "Barney", "возраст": 36}, { "имя": "Фред", "возраст": 48}, { "имя": "Фред", "возраст": 40}] [{ "Имя": "Barney", "возраст": 36}, { "имя": "Фред", "возраст": 40}, { "имя": "Фред", "возраст": 48}]
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-1-37 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на JavaScript для создания функции, которая вызывает каждую предоставленную функцию с аргументами, которые она получает, и возвращает результаты.
Далее: Напишите программу на JavaScript для дополнения строки с обеих сторон указанным символом, если она короче указанной длины.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования