我遇到两个对象的问题。
第一个对象usersHotel
usersHotel:[
{id:0, linked:false,hotel:
{code:1, namehotel:'r1'}
},
{id:1,linked:false,hotel:
{code:2, namehotel:'n1'}
},
{id:2, linked:false,hotel:
{code:3, namehotel:'a1'}
}
]
第二家酒店
hotels:[
{code:1, namehotel:'r1'},
{code:2, namehotel:'n1'},
{code:3, namehotel:'z1'},
{code:4, namehotel:'t1'}
]
我想从
中显示这个元素hotels :[
{code:3, namehotel:'z1'},
{code:4, namehotel:'t1'}
]
这意味着两个对象数组不常见:
这是我的代码:
var hotelsName=[];
$scope.getHotelByUserName = function (id) {
UsersService.getHotelByUserName(id).then( function(data){
$scope.usersHotel=data;
if( $scope.userHotels != null){
angular.forEach($scope.userHotels, function(value,index) {
angular.forEach($scope.hotels , function(hotel,key){
if(hotel.code!=value.hotel.code){
$scope.hotelsName.push(hotel);
}
});
});
}
}).catch( function onFail(errorResponse) {
console.error('Error while getting Hotel By User Name');
console.log(errorResponse);
});
};
我有一个问题,即hotelsName对象的push函数没有取值,我得到一个空对象。真的不明白为什么?任何帮助都要提前感谢。
答案 0 :(得分:0)
小事快速纠正
只需将var hotelsName = []
更新为$scope.hotelsName=[];
$scope.hotelsName=[];
$scope.getHotelByUserName = function (id) {
UsersService.getHotelByUserName(id).then( function(data){
$scope.usersHotel=data;
if( $scope.userHotels != null){
angular.forEach($scope.userHotels, function(value,index) {
angular.forEach($scope.hotels , function(hotel,key){
if(hotel.code!=value.hotel.code){
$scope.hotelsName.push(hotel);
}
});
});
}
}).catch( function onFail(errorResponse) {
console.error('Error while getting Hotel By User Name');
console.log(errorResponse);
});
};