кодесурса
«JavaScript

JavaScript: сортировка массива объектов JavaScript

script1adsense2code
script1adsense3code

Объект JavaScript: упражнение 10 с решением

Напишите программу JavaScript для сортировки массива объектов JavaScript.

Образец объекта:

 библиотека var = [ 
   {
       название: «Дорога впереди»,
       автор: «Билл Гейтс»,
       ID библиотеки: 1254
   },
   {
       название: «Уолтер Исааксон»,
       автор: «Стив Джобс»,
       ID библиотеки: 4264
   },
   {
       title: «Сойка-пересмешница: последняя книга Голодных игр»,
       автор: «Сюзанна Коллинз»,
       ID библиотеки: 3245
   }];

Ожидаемый результат:

 [[Объект Object] {
  автор: "Уолтер Исааксон",
  ID библиотеки: 4264,
  название: "Стив Джобс"
}, [Объект Object] {
  автор: "Сюзанна Коллинз",
  ID библиотеки: 3245,
  title: «Сойка-пересмешница: последняя книга Голодных игр»
}, [Объект Object] {
  автор: "Дорога впереди",
  ID библиотеки: 1254,
  название: "Билл Гейтс"
}]

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

HTML-код:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript program to sort an array of JS objects</title>
</head>
<body>
</body>
</html>

Код JavaScript:

var library = [ 
   {
       title: 'Bill Gates',
       author: 'The Road Ahead',
       libraryID: 1254
   },
   {
       title: 'Steve Jobs',
       author: 'Walter Isaacson',
       libraryID: 4264
   },
   {
       title: 'Mockingjay: The Final Book of The Hunger Games',
       author: 'Suzanne Collins',
       libraryID: 3245
   }];
var sort_by = function(field_name, reverse, initial){
   var key = initial ?
       function(x)
             {
               return initial(x[field_name]);
             } :
       function(x) 
             {
               return x[field_name];
             };
   reverse = !reverse ? 1 : -1;
   return function (x, y) {
       return x = key(x), y = key(y), reverse * ((x > y) - (y > x));
     } ;
};
var newobj = library.sort(sort_by('libraryID', true, parseInt));
console.log(newobj);

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

 [{"title": "Стив Джобс", "author": "Walter Isaacson", "libraryID": 4264}, {"title": "Mockingjay: последняя книга Голодных игр", "author": "Сюзанна" Коллинз "," libraryID ": 3245}, {" title ":" Билл Гейтс "," author ":" Дорога вперед "," libraryID ": 1254}]

Блок - схема:

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

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

См. Pen javascript-object-упражнение-10 от w3resource ( @ w3resource ) на CodePen .


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

Предыдущий: Напишите программу на JavaScript для расчета площади и периметра круга. Создайте два метода для расчета площади и периметра. Радиус круга будет предоставлен пользователем.
Далее: Напишите функцию JavaScript для печати всех методов в объекте JavaScript.

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code