尝试将json对象的一部分复制到另一个json对象(即过滤器),到for循环中,在条件语句下,它不起作用。
这项工作可以写一个数组:
$scope.candidats=[];
for (i=0;i<omegaCandidats.length;i++){
if (omegaCandidats[i].dateRdv==date){
$scope.candidats.push(
{
"id" :omegaCandidats[i].id,
"prenom" :omegaCandidats[i].prenom,
"nom" :omegaCandidats[i].nom,
"heure" :omegaCandidats[i].heure,
"dateRdv" :omegaCandidats[i].date
}
)
};
};
这不起作用,这就是我想做的事情。它合乎逻辑,应该有效:
$scope.candidats=[];
for (i=0;i<omegaCandidats.length;i++){
if (omegaCandidats[i].dateRdv==date){
$scope.candidats[i] = omegaCandidats[i];
};
};
这一个工作,但只得到一个for循环的值无用:
$scope.candidats=[];
for (i=0;i<omegaCandidats.length;i++){
if (omegaCandidats[i].dateRdv==date){
$scope.candidats[0] = omegaCandidats[i];
};
};
答案 0 :(得分:3)
使用过滤器怎么样:
$scope.candidats = omegaCandidats.filter(function(candidat){
return candidat.dateRdv == date;
});
答案 1 :(得分:2)
您可以使用过滤器阵列方法,试试这个:
$scope.candidats = omegaCandidats.filter(function(item) {
return item.dateRdv==date;
});
答案 2 :(得分:0)
我认为这应该有效:
$scope.candidats=[];
for (i=0;i<omegaCandidats.length;i++){
if (omegaCandidats[i].dateRdv==date){
//$scope.candidats.push(omegaCandidats[i]);
$scope.candidats.push(angular.copy(omegaCandidats[i]));
//copy will create a new reference for your object.
};
};
你拥有的代码对我来说不符合逻辑:
$scope.candidats=[];
for (i=0;i<omegaCandidats.length;i++){
if (omegaCandidats[i].dateRdv==date){
$scope.candidats[i] = omegaCandidats[i]; // This can't work because $scope.candidats[i] is not defined.
// You would also have an inconsistent array
};
};