2014-04-12 3 views
1

오브젝트에 이미 ID가 있는지 확인하고 싶습니다.오브젝트에 값이 이미 있는지 확인하십시오.

내가 객체

moviesFavorites.push({ 
    id: movieId, 
    title: movieTitle, 
    year: movieYear, 
    image: movieImage 
}); 

는 그런 일 반환에 4 키/값을 밀어 :

Array[3] 
    0: Object 
    id: "1170358" 
    image: "http://zapp.trakt.us/images/posters_movies/180744-300.jpg?3" 
    title: "The Hobbit The Desolation of Smaug" 
    year: "2013" 

    1: Object 
    id: "1335975" 
    image: "http://zapp.trakt.us/images/posters_movies/179050-300.jpg?2" 
    title: "47 Ronin" 
    year: "2013" 
length: 2 

을 내가 ID가 개체에 이미있는 경우 루프에 대한 확인을 만들 수 있지만, 그것은 작동하지 않았다. 그것은 항상 거짓을 반환합니다. 뭐가 문제 야 ?

for (var i = 0 ; i < moviesFavorites.length; i++) { 
    var globalObj = moviesFavorites[i]; 

    console.log(globalObj.id in globalObj); 
} 

답변

4

당신은 당신이 그래서 코드는 기본적으로 평가 globalObj.id

의 값과 일치하는 키를 찾는 것이 코드와

console.log("id" in globalObj); 

원하는 :

console.log("1170358" in globalObj); 
console.log("1335975" in globalObj); 

또는 id 속성이 globalObj에없고 strict 모드를 사용하지 않은 경우에는 ID가 정의되지 않은 것처럼 이름이 undefined 인 키를 찾습니다.

console.log("undefined" in globalObj); 
+0

완벽한 감사합니다! – jbr

관련 문제