私はフロントエンドの星をクリックするたびにquestion_id
とrating
という2つのキーを持つ配列にオブジェクトを挿入します。ユーザーが星のいずれかのレーティングを変更して既存のキーの値を更新する場合はそれを探し、それ以外の場合は配列にエントリをプッシュします。javascript/angularjsのハッシュのキーの既存の値を更新します
$scope.yellowPages = [] // is defined
if ($scope.yellowPages.length > 1) {
for (var i = 0 ; i < $scope.yellowPages.length; i++) {
if ($scope.yellowPages[i]["question_id"] == question_id) {
$scope.yellowPages[i]["rating"] = rating; // here updating the existing value of key, but what is happening it's updates and as well as creates a new entry with the updated value.
}
else{
$scope.yellowPages.push({rating: rating, question_id: question_id});
} // if not present
}
}
else{
$scope.yellowPages.push({rating: rating, question_id: question_id}); // for 1st time
}
}
以下
コードサンプルは私の究極の目標はquestion_id's
ユニークでありrating
、配列べき唯一の5つの要素を持つことです。
ありがとうございました
それでは、 – gforce301
私の質問は、1つの特定のquestion_idに対応する評価を1つだけ保持する方法です。現状では、現在の値を更新するだけでなく、新しい値を挿入することもあります。新しい値を挿入したくない場合は、存在する場合は特定のキーに対応する値を更新するか、配列に挿入します。 –