속성 값을 기준으로 개체 정렬
JavaScript에서 개체는 키-값 쌍의 순서가 지정되지 않은 모음입니다. 그러나 속성 값을 기준으로 객체를 정렬해야 하는 상황이 있을 수 있습니다. 이는 객체를 배열로 변환하고 값을 기준으로 배열을 정렬한 다음 정렬된 배열에서 객체를 재구성함으로써 달성할 수 있습니다.
제공된 예를 고려해 보겠습니다.
var list = { "you": 100, "me": 75, "foo": 116, "bar": 15 };
값을 기준으로 목록의 속성을 정렬하려면 다음을 수행할 수 있습니다.
let sortable = []; for (let property in list) { sortable.push([property, list[property]]); } sortable.sort((a, b) => a[1] - b[1]); // [["bar", 15], ["me", 75], ["you", 100], ["foo", 116]]
이렇게 하면 다음을 포함하는 정렬 가능한 배열이 생성됩니다. 속성-값 쌍의 하위 배열은 값을 기준으로 오름차순으로 정렬됩니다. 이제 정렬된 순서로 개체를 재구성할 수 있습니다.
let objSorted = {}; sortable.forEach(item => { objSorted[item[0]] = item[1]; });
이렇게 하면 정렬된 개체가 제공됩니다.
objSorted = { "bar": 15, "me": 75, "you": 100, "foo": 116 };
ES8 이상에서는 개체를 사용하여 이 프로세스를 단순화할 수 있습니다. 항목():
const maxSpeed = { car: 300, bike: 60, motorbike: 200, airplane: 1000, helicopter: 400, rocket: 8 * 60 * 60 }; const sortable = Object.entries(maxSpeed) .sort(([,a],[,b]) => a-b) .reduce((r, [k, v]) => ({ ...r, [k]: v }), {}); console.log(sortable);
이것은 속성-값 쌍의 정렬된 배열을 다음과 같이 반환합니다. object.
속성 값을 기준으로 객체를 정렬하는 것이 가능하지만 이는 JavaScript의 구현 특성에 의존하며 나중에 중단될 수 있다는 점에 유의하는 것이 중요합니다. JavaScript 객체의 요소 순서에 대한 가정을 피하는 것이 좋습니다.
위 내용은 속성 값을 기준으로 JavaScript 개체를 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!