我有一個小應用程序,用戶可以使用它來搜索電影,然後將其添加到其監視列表中。目前可以爲同一用戶添加1部電影。哪個課程不是期望的行爲。如何檢查值是否已經存在?
我的解決方案是找到正在添加的電影的唯一ID並用我的movies_users
數據進行交叉檢查。如果movie_id
值存在,請執行此操作,否則請執行此操作。
在我所具有的選擇要添加的電影的獨特影片ID的那一刻,
$scope.movieListID = response;
console.log ($scope.movieListID.id)
它得到ouputted像繩子,像這樣,
314365
而且我得到了電影從目前的用戶記錄,
$scope.moviesCheck = response.data;
console.log ($scope.moviesCheck)
它看起來像這樣,
[{"id":2,"title":"Black Panther", "movie_id":"284054"}]
那麼這將是檢查是否從$scope.movieListID.id
結果在$scope.moviesCheck
數據已經存在的好方法?
*更新*
嘗試建議以下不給預期的結果。
var exists = function (id) {
$scope.moviesCheck.forEach(function (movie) {
console.log (movie.movie_id)
console.log (id)
if (movie.movie_id === id)
console.log ('duplicate')
else
console.log ('not duplicate')
});
}
exists($scope.movieListID.id);
從這裏的console.log輸出,
312221
312221
not duplicate
其中明確是重複的結果。
不要使用三等份。直到值相同並且類型相同,結果纔會成立。例如,1 ==「1」將產生true。但1 ===「1」不會產生真實。檢查這個。 –