Sắp xếp đối tượng theo giá trị JavaScript

Sắp xếp thuộc tính đối tượng theo giá trị [giá trị là văn bản]

Tôi có đối tượng sau

var cities={10:'Tashkent', 14:'Karakalpakiya', 16:'Andijan'};

Tôi muốn sắp xếp nó theo tên thành phố, vì vậy sau khi sắp xếp, nó sẽ là

var cities={16:'Andijan', 14:'Karakalpakiya', 10:'Tashkent'};

Nhưng tôi không thể sắp xếp các thuộc tính đối tượng, thay vào đó có thể chuyển đổi đối tượng thành mảng, sau đó sắp xếp các mục

function sortProperties[obj]
{
  // convert object into array
	var sortable=[];
	for[var key in obj]
		if[obj.hasOwnProperty[key]]
			sortable.push[[key, obj[key]]]; // each item is an array in format [key, value]
	
	// sort items by value
	sortable.sort[function[a, b]
	{
		var x=a[1].toLowerCase[],
			y=b[1].toLowerCase[];
		return xy ? 1 : 0;
	}];
	return sortable; // array in format [ [ key1, val1 ], [ key2, val2 ], .. ]
}

Ví dụ

var sortedCities=sortProperties[cities];
console.log[sortedCities]; // [[16, 'Andijan'], [14, 'Karakalpakiya'], [10, 'Tashkent']]

Sắp xếp thuộc tính đối tượng theo giá trị [giá trị là số]

Tôi có đối tượng sau

var cities={Tashkent:447, Karakalpakiya:900, Andijan:120};

Tôi muốn sắp xếp nó theo xếp hạng thành phố, vì vậy sau khi sắp xếp, nó sẽ là

var cities={Andijan:120, Tashkent:447, Karakalpakiya:900};

Nhưng một lần nữa tôi không thể sắp xếp các thuộc tính đối tượng, thay vào đó có thể chuyển đổi đối tượng thành mảng, sau đó sắp xếp các mục

function sortProperties[obj]
{
  // convert object into array
	var sortable=[];
	for[var key in obj]
		if[obj.hasOwnProperty[key]]
			sortable.push[[key, obj[key]]]; // each item is an array in format [key, value]
	
	// sort items by value
	sortable.sort[function[a, b]
	{
	  return a[1]-b[1]; // compare numbers
	}];
	return sortable; // array in format [ [ key1, val1 ], [ key2, val2 ], .. ]
}

Ví dụ

var sortedCities=sortProperties[cities];
console.log[sortedCities]; // [[Andijan, 120], [Tashkent, 447], [Karakalpakiya, 900]]

###Phiên bản cải tiến với tham số bổ sung để đặt loại sắp xếp [số hoặc văn bản]

________số 8

Bạn có thể sắp xếp đối tượng theo giá trị JavaScript không?

Sắp xếp mảng đối tượng

Làm cách nào để sắp xếp một đối tượng của các đối tượng trong JavaScript?

Để sắp xếp một mảng đối tượng trong JavaScript, hãy sử dụng phương thức sort[] với hàm so sánh . Hàm so sánh giúp chúng ta viết logic trong việc sắp xếp mảng các đối tượng.

Làm cách nào để sắp xếp một thuộc tính trong một đối tượng JavaScript?

Để sắp xếp các khóa của một đối tượng. .
Sử dụng đối tượng. keys[] để lấy một mảng các khóa của đối tượng
Gọi phương thức sort[] trên mảng
Gọi phương thức reduce[] để lấy một đối tượng với các phím được sắp xếp

Làm thế nào chúng ta có thể sắp xếp các phần tử của một đối tượng?

Lớp bộ sưu tập cung cấp các phương thức tĩnh để sắp xếp các thành phần của bộ sưu tập . Nếu các phần tử của bộ sưu tập thuộc loại Tập hợp, chúng ta có thể sử dụng TreeSet. Tuy nhiên, chúng ta không thể sắp xếp các phần tử của Danh sách. Lớp Collections cung cấp các phương thức sắp xếp các phần tử của các phần tử kiểu List.

Chủ Đề