JSFiddle - React, Tailwind, and code Playground

JavaScript

var booksArray = [	
						{Id:1,Rate:5,Price:200,Name:"History"},
						{Id:2,Rate:5,Price:150,Name:"Geographic"},
						{Id:3,Rate:1,Price:75,Name:"Maths"},
						{Id:4,Rate:2,Price:50,Name:"Statistics"},
						{Id:5,Rate:3,Price:120,Name:"Drawing"},
						{Id:6,Rate:2,Price:100,Name:"Arts"},
						{Id:7,Rate:3,Price:110,Name:"Chemistry"},
						{Id:8,Rate:4,Price:160,Name:"Biology"},
						{Id:9,Rate:4,Price:90,Name:"Software Engineering"},
						{Id:10,Rate:4,Price:80,Name:"Algorithm"},
						{Id:11,Rate:1,Price:85,Name:"Urdu"},
						{Id:12,Rate:1,Price:110,Name:"International Relations"},
						{Id:13,Rate:1,Price:120,Name:"Physics"},
						{Id:14,Rate:3,Price:230,Name:"Electronics"},
						{Id:15,Rate:3,Price:250,Name:"Jihad"},
						{Id:16,Rate:3,Price:200,Name:"Functional Programming"},
						{Id:17,Rate:2,Price:190,Name:"Computer Science"},
						{Id:18,Rate:2,Price:50,Name:"Problem solving Techniques"},
						{Id:19,Rate:6,Price:150,Name:"C#"},
						{Id:20,Rate:7,Price:250,Name:"ASP.Net"}
					]
                    
	function sortBy(key, reverse) {
        var moveSmaller = reverse ? 1 : -1;
		var moveLarger = reverse ? -1 : 1;
		return function(a, b) {
			if (a[key] < b[key]) {
				return moveSmaller;
			}
			
			if (a[key] > b[key]) {
				return moveLarger;
			}
			return 0;
		};
	} 
booksArray.sort(sortBy('Rate', false))
console.log(JSON.stringify(booksArray))
var lastKey = 'Rate'
booksArray.sort(sortBy('Name', false))