데이터 배열 배열 형태로 서버에서 반환하는 테이블 형식의 데이터와 해당 데이터와 관련된 키 배열이 있습니다. 그런 다음 특정 키별로 정렬하고 싶습니다. 이제는 데이터를 사전 처리하고 객체 배열을 압축 할 수 있지만이를 수행하고 싶지는 않다는 것을 알고 있습니다. 이 작업을 쉽게 수행 할 수있는 기본 방법이 있습니까?배열 및 별도의 키 배열이있는 각도 배열
실제로 정렬하지 않지만 데이터를 표시하는 일부 코드입니다. CodePen.
JS :
는var app = angular.module('helloworld', []);
app.controller('TestController', function() {
this.headers = ['foo', 'bar'];
this.data = [
[ 'lol', 'wut' ],
[ '123', 'abc' ]
];
this.predicate = '';
});
는 HTML :
참고로<table ng-app="helloworld" ng-controller="TestController as test">
<thead>
<tr>
<th ng-repeat="heading in test.headers" ng-click="test.predicate = heading">{{ heading }}</th>
</tr>
</thead>
<tbody>
<tr>
<td>Predicate:</td>
<td>{{ test.predicate }}</td>
</tr>
<tr ng-repeat="row in test.data | orderBy: test.predicate">
<td ng-repeat="column in row">{{ column }}</td>
</tr>
</tbody>
</table>
orderBy는 속성을 사용하여 방향을 정렬합니다. 배열에 "술어"속성이 없습니다. 필터링하려고합니까? – Antiga
@Antiga, 나는 이것이 내가 코드가 실제로 아무 것도하지 않는다는 것을 명시한 이유임을 깨닫는다. 객체 배열을 미리 생성하면 작동하지만, 그렇게하지 않아도되는 영리한 방법이 있는지 궁금합니다. – Radu
나는 당신이 지금 무슨 말을하고 있는지 이해하고 있다고 생각합니다. 개인적으로 Lo-Dash의 zipObject (https://lodash.com/docs#zipObject)와 같은 것을 사용 하겠지만, 그렇게하고 싶지는 않습니다. 희망하는 솔루션을 찾으십시오. – Antiga