JavaScript: сортировка массива объектов JavaScript
Объект 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 программирования