이번에는 JS를 사용하여 json 객체 배열을 객체 속성별로 정렬하는 방법과 JS를 사용하여 json 객체 배열을 객체 속성별로 정렬하는 데 notes가 무엇인지 보여드리겠습니다. 다음은 실제 사례입니다.
실제 작업에서 이런 문제가 자주 발생합니다. 백그라운드에서 반환된 배열에 i json 데이터가 있는데, json의 특정 항목에 따라 배열을 정렬해야 합니다.
예를 들어 반환된 데이터 구조는 아마도 다음과 같을 것입니다.
{ result:[ {id:1,name:'中国银行'}, {id:3,name:'北京银行'}, {id:2,name:'河北银行'}, {id:10,name:'保定银行'}, {id:7,name:'涞水银行'} ] }
이제 비즈니스 요구에 따라 id의 크기에 따라 정렬하고 작은 id를 가진 json 순서로 배열 순서를 재정렬해야 합니다. 큰 ID가 있는 json
js에 추가 정렬 방법:
여기JavaScript sort()
방법을 사용하고 먼저 정렬 방법을 설명하세요sort()
方法,首先解释下这个sort的方法
语法:arrayObject.sort(sortby)
sortby:可选,规定排序顺序。必须是函数。
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
下面开始使用sort(sortby)
arrayObject.sort(sortby)<p style="text-align: left;"></p>
<span style="color: #0000ff">sortby</span>: 선택 사항, 정렬 순서를 지정합니다. 함수여야 합니다. <p style="text-align: left;"></p>이 메서드를 매개 변수 없이 호출하면 배열의 요소가 알파벳순, 더 정확하게는 문자 인코딩 순서로 정렬됩니다. 이를 달성하려면 먼저 비교를 위해 배열의 요소를 문자열(필요한 경우)로 변환해야 합니다. <p style="text-align: left;"><img src="https://img.php.cn/upload/article/000/061/021/07b33d344d7abff59aa519d94721c202-0.png" alt="">다른 기준으로 정렬하려면 두 값을 비교하고 두 값의 상대적 순서를 설명하는 숫자를 반환하는 비교 함수를 제공해야 합니다. 비교 함수에는 a와 b라는 두 개의 매개변수가 있어야 하며 반환 값은 다음과 같습니다. </p>
<p>a가 b보다 작으면 정렬된 배열에서 a가 b 앞에 나타나야 하고 0보다 작은 값을 반환합니다. </p>a가 b와 같으면 0을 반환합니다. <p>a가 b보다 크면 0보다 큰 값을 반환합니다. </p>
<p> <code>sort(sortby)
를 사용하여 이 정렬을 수행하고 콘솔에 인쇄해 보겠습니다. function sortId(a,b){ return a.id-b.id } result.sort(sortId); console.log(result);
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>www.jb51.net json数组排序</title> </head> <body> <script> var result = [ {id:1,name:'中国银行'}, {id:3,name:'北京银行'}, {id:2,name:'河北银行'}, {id:10,name:'保定银行'}, {id:7,name:'涞水银行'} ] function sortId(a,b){ return a.id-b.id } result.sort(sortId); console.log(result); </script> </body> </html>
위 내용은 JS를 사용하여 객체 속성별로 json 객체 배열을 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!