У меня есть следующий контроллер, который был результатом другого OP на переполнении стека.Объединить массив массивов в AngularJS
var getData = function() {
var swindon = $http.get('(url)/swi/10?expand=true'),
paddington = $http.get('(url)/pad/10?expand=true'),
reading = $http.get('(url)/rdg/10?expand=true');
$q.all([swindon,paddington,reading]).then(function(arrayOfResults) {
$scope.listOfServices = arrayOfResults;
console.log($scope.listOfServices);
});
};
getData();
Какие результаты в чем-то вроде этого
То, что я хотел бы сделать сейчас CONCAT эти три массива в один массив. Массивы являются Absolutly идентичны по структуре записи хранятся в массиве trainServices
я пытался что-то вдоль линий
$scope.listOfServices = $scope.listOfServices.data.concat(data);
, которая возвращается как неопределенные
можно использовать массивы в вложенной NG-REPEAT, но мне нужно отфильтровать дубликаты из трех массивов, поэтому я нуждаюсь в них как один. Данные взяты из живой передачи, поэтому я не могу выполнить запрос до того, как данные попадут в приложение.
Это, как я называю массивы в момент
<tbody ng-repeat="item in listOfServices">
<tr ng-repeat="service in item.data.trainServices | customDelayFilter">
Я также включал представление ONLINE JSON из JSON.stringify ($ scope.listOfServices)
Не уверен, почему на верхнем уровне говорит JSON .. это фактически не строка на выходе
«Array.concat не является функцией» .. и что такое ... arrayOfResults? почему три точки? – MOLEDesign
Я обновил свой ответ и заменил Array.concat (собственный метод объекта Array, который равен Array.prototype.concat(), [] .concat()), ([]). Concat()) с []. массив. Если он по-прежнему не работает для вас, я попытаюсь создать плункер для вас – Andriy
Я просто хочу сказать, что вы похожи, мой самый любимый человек в этом году. Работает ОТЛИЧНО и на самом деле значительно улучшает то, что у меня было. Теперь у меня есть прекрасный список всех объединенных сервисов. Фантастика! – MOLEDesign