>  기사  >  웹 프론트엔드  >  JS를 사용하여 객체 속성별로 json 객체 배열을 정렬하는 방법

JS를 사용하여 객체 속성별로 json 객체 배열을 정렬하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-05-28 15:33:591409검색

이번에는 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>
그런 다음 콘솔을 확인하면 정렬이 성공했습니다.


이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

vuex를 시작하는 단계에 대한 자세한 설명🎜🎜🎜🎜🎜vuex를 고급으로 사용하는 방법🎜🎜🎜🎜🎜vue-admin-template🎜🎜🎜을 사용하여 최적화 단계에 대한 자세한 설명

위 내용은 JS를 사용하여 객체 속성별로 json 객체 배열을 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.