canvasObjects
이라는 개체 배열이 있습니다.개체 속성을 기반으로 배열 정렬 - 자바 스크립트
각 개체의 속성은 z
입니다.
이 배열을 객체 z
을 기준으로 정렬하고 싶습니다. sort()
방법을 사용하여 어떻게합니까?
canvasObjects
이라는 개체 배열이 있습니다.개체 속성을 기반으로 배열 정렬 - 자바 스크립트
각 개체의 속성은 z
입니다.
이 배열을 객체 z
을 기준으로 정렬하고 싶습니다. sort()
방법을 사용하여 어떻게합니까?
당신은 단지 정렬 기능
function compare(a,b) {
if (a.attr < b.attr)
return -1;
if (a.attr > b.attr)
return 1;
return 0;
}
canvasObjects.sort(compare);
또는 인라인으로 비교기에 전달해야
canvasObjects.sort(function(a,b) {return (a.attr > b.attr) ? 1 : ((b.attr > a.attr) ? -1 : 0);});
이 POST
가 빼기를 반환하는 정렬 방법에 익명 함수를 보내기 참조 속성 "z"
var arr = [{z:2},{z:4},{z:5},{z:1},{z:3}];
arr.sort(function(a,b) {return a.z - b.z});
은 1,2,3,4,5를 주문하려면 z에 숫자를 넣습니다. 순서를 바꾸려면 "b.z - a.z"를 반환하십시오.
다른 답변을 시도해 보았습니다. 그러나 아래에서 가장 잘 작동하는 것으로 나타났습니다.
canvasObjects.sort(function(a,b) { return parseFloat(a.z) - parseFloat(b.z) });