키 월과 키 값이 포함된 지도가 있습니다 1
... 31
. 내가 올바르게 이해했다면 JavaScript는 지도의 키를 문자열로 변환합니다.
표준new Map([...myMap.entries()].sort())
을 사용하여 정렬한 후 지도는 다음과 같이 키별로 정렬됩니다.
십진수 키를 문자열로 변환하고 0
填充单个数字的方法,以实现1,2,3,4,5, ...
:
나는 이 접근 방식이 너무 인위적이라고 생각하며 키의 십진수 값을 기준으로 노멀 맵 정렬을 달성하려면 미리 작성된 JavaScript 메서드가 있어야 합니다.
자바스크립트 맵을 십진수 키로 정렬하는 더 나은 방법에 대한 제안이 있으십니까?
해보았습니다new Map([...myMap.entries()].sort())
- 지도는 1, 11, 12, ..., 19, 2, 20, 21, 22, ... 29, 3, 30, 31로 정렬됩니다.
구현 시
Map()
对象的key
中可以使用任何类型,但在使用默认的sort()
문자열로 캐스팅됩니다.이 문제를 해결하려면 숫자 값으로 명시적으로 비교하는 자체 정렬 논리를 구현해야 합니다. 아래 예에서는 정수를 사용하지만 소수 비교가 필요한 경우
parseFloat()
를 사용하도록 쉽게 업데이트할 수 있습니다.참고: 코드 조각 콘솔은
Map()
개체와 호환되지 않는 것 같습니다. 순서가 올바른지 확인하려면 개발자 도구 콘솔의 출력을 확인하세요.