кодесурса
«JavaScript

JavaScript фундаментальный: получить отсортированный массив объектов, упорядоченных по свойствам и порядкам

script1adsense2code
script1adsense3code

Основы 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code