>  Q&A  >  본문

소수점 키를 기준으로 JavaScript 지도 정렬

키 월과 키 값이 포함된 지도가 있습니다 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로 정렬됩니다.

P粉755863750P粉755863750396일 전600

모든 응답(1)나는 대답할 것이다

  • P粉501683874

    P粉5016838742023-09-20 12:24:53

    구현 시 Map()对象的key中可以使用任何类型,但在使用默认的sort()문자열로 캐스팅됩니다.

    이 문제를 해결하려면 숫자 값으로 명시적으로 비교하는 자체 정렬 논리를 구현해야 합니다. 아래 예에서는 정수를 사용하지만 소수 비교가 필요한 경우 parseFloat()를 사용하도록 쉽게 업데이트할 수 있습니다.

    으아아아

    참고: 코드 조각 콘솔은 Map() 개체와 호환되지 않는 것 같습니다. 순서가 올바른지 확인하려면 개발자 도구 콘솔의 출력을 확인하세요.

    회신하다
    0
  • 취소회신하다