반응형
jquery 또는 javascript를 사용하여 객체 배열을 정렬하는 방법
오브젝트 배열:
var array = [(id, name, value),(id, name, value)]; //and so on
속성 이름의 오름차순으로 어레이를 정렬하려면 어떻게 해야 합니까?(array[i][1])
?
난 이걸 시도했어:array[i][1].sort()
근데 안 되네.
제발 저좀 도와주세요!
편집: 어레이에 3개 이상의 개체를 포함할 수 있습니다.수백 개를 포함할 수 있습니다.
편집: "복제" 질문 2년 전에 질문을 받았는데 왜 이 질문이 중복으로 표시됩니까?
//This will sort your array
function SortByName(a, b){
var aName = a.name.toLowerCase();
var bName = b.name.toLowerCase();
return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0));
}
array.sort(SortByName);
var array = [[1, "grape", 42], [2, "fruit", 9]];
array.sort(function(a, b)
{
// a and b will here be two objects from the array
// thus a[1] and b[1] will equal the names
// if they are equal, return 0 (no sorting)
if (a[1] == b[1]) { return 0; }
if (a[1] > b[1])
{
// if a should come after b, return 1
return 1;
}
else
{
// if b should come after a, return -1
return -1;
}
});
그sort
함수는 두 개의 인수를 사용하는 함수인 추가 인수를 사용합니다.이 함수는 반환되어야 합니다.-1
,0
또는1
두 인수 중 어떤 것이 정렬에서 먼저 와야 하는지에 따라 달라집니다.상세 정보
다차원 배열의 구문 오류도 수정했습니다.
//objects
var array = [{id:'12', name:'Smith', value:1},{id:'13', name:'Jones', value:2}];
array.sort(function(a, b){
var a1= a.name.toLower(), b1= b.name.toLower();
if(a1== b1) return 0;
return a1> b1? 1: -1;
});
//arrays
var array =[ ['12', ,'Smith',1],['13', 'Jones',2]];
array.sort(function(a, b){
var a1= a[1], b1= b[1];
if(a1== b1) return 0;
return a1> b1? 1: -1;
});
data.sort(function(a,b)
{
return a.val - b.val;
});
sort 메서드에는 커스텀 비교 함수를 전달하기 위한 선택적 인수가 포함되어 있습니다.
어레이 어레이를 원하는 경우:
var arr = [[3, "Mike", 20],[5, "Alex", 15]];
function compareName(a, b)
{
if (a[1] < b[1]) return -1;
if (a[1] > b[1]) return 1;
return 0;
}
arr.sort(compareName);
그렇지 않으면 객체 배열을 원하는 경우 다음을 수행할 수 있습니다.
function compareName(a, b)
{
if (a.name < b.name) return -1;
if (a.name > b.name) return 1;
return 0;
}
실제 다차원 배열을 작성하는 대신 (거의) JavaScript 객체 배열을 작성하는 것 같습니다.어레이를 다음과 같이 정의해 보십시오.->
var array = [ [id,name,value], [id,name,value] ]
그게 도움이 됐으면 좋겠네요!
언급URL : https://stackoverflow.com/questions/5503900/how-to-sort-an-array-of-objects-with-jquery-or-javascript
반응형
'programing' 카테고리의 다른 글
Ubuntu에 mysql gem을 설치하는 데 문제가 있습니다. (0) | 2022.09.23 |
---|---|
여러 속성을 기준으로 목록을 정렬하시겠습니까? (0) | 2022.09.23 |
문자 목록을 문자열로 변환 (0) | 2022.09.23 |
PHP와 함께 comet을 사용하시겠습니까? (0) | 2022.09.23 |
NodeJS + ExpressJS에서 mysql DB에 대한 연결을 관리하는 올바른 방법 (0) | 2022.09.23 |