javascript - js에서 객체를 정렬하는 방법이 있나요?
仅有的幸福
仅有的幸福 2017-06-29 10:09:03
0
10
1069

JSON 객체가 백그라운드에서 반환되었으며 순서가 정렬되었습니다

그런데 js를 사용하여 배열을 순회하듯이 이 객체를 순회하면 결과가 원래 객체와 다릅니다. 정보를 확인한 결과 js 객체가 정렬되지 않은 것을 발견했습니다. . 그러면 이 객체를 순차적으로 순회하는 방법이 있나요? 아니면 원본 개체의 속성을 순서대로 가져오는 방법은 무엇입니까?

仅有的幸福
仅有的幸福

모든 응답(10)
为情所困

으아악

phpcn_u1582

으아악

巴扎黑

해결책이 없습니다. 정렬된 경우 배열을 사용해야 합니다. 또는 키 배열을 사용합니다.

ES5에서는 객체의 순서가 지정되지 않으므로 엔진마다 다를 수 있습니다.

ES6에서는 Object.getOwnPropertyNames()Object.getOwnPropertySymbols() 以及等效于两者结合的 Reflect.ownKeys()가 일정한 순서로 출력되지만 원하는 답은 아닙니다.

json의 구조는 숫자순, 사전순으로 정리되어 있는 것 같습니다. 이 경우 수동으로 정렬하면 됩니다.

phpcn_u1582

1. 페이지 표시가 백엔드에서 반환된 정렬 순서와 정확히 일치한다면 정렬할 필요 없이 직접 표시하면 됩니다.
2. 원하는 순서가 백엔드 순서와 다를 경우 제품이 어떤 필드에 정렬되어 표시되는지에 따라 다릅니다. 그런 다음 개체의 이 필드를 기준으로 정렬합니다.
원하는 것을 얻을 수 있어야 합니다.

世界只因有你

으아악

过去多啦不再A梦

json 객체에는 순서가 없기 때문에 "미리 정렬된 순서"는 실제로 존재하지 않습니다.
프런트 엔드에서 키 이름을 기준으로 정렬하려면 먼저 키 이름을 꺼내서 정렬한 다음 콘텐츠를 가져올 수 있습니다.

仅有的幸福

백그라운드는 정렬된 데이터를 반환하므로 ajax를 사용하여 dataType: json 데이터를 요청하는 경우 데이터를 받은 후 직접 트래버스하여 템플릿에 채우면 됩니다. 순서가 틀리면 백그라운드에서 가져온 데이터가 잘못되었기 때문인 것 같아요

代言

으아악 으아악

过去多啦不再A梦

순차적인 값을 갖고 싶다면 배열에 저장한 다음 json 속성에 넣으세요.

小葫芦

으아악

이렇게 하면 고정된 순서로 배열이 반환됩니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿