检查javascript对象上是否已存在值

检查javascript对象上是否已存在值,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我想检查对象中是否已经有id 我将4个键/值推送到一个对象 moviesFavorites.push({ id: movieId, title: movieTitle, year: movieYear, image: movieImage }); 它返回类似这样的结果: Array[3] 0: Object id: "1170358" image: "http://zapp.trakt.us/images/posters_movies/180744-300.

我想检查对象中是否已经有id

我将4个键/值推送到一个对象

moviesFavorites.push({
  id: movieId,
  title: movieTitle,
  year: movieYear,
  image: movieImage
});
它返回类似这样的结果:

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
我创建了一个for循环来检查id是否已经在对象上,但它没有工作。它始终返回false。怎么了

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

  console.log(globalObj.id in globalObj);
}
for(var i=0;i
您想要什么

console.log("id" in globalObj);
使用您拥有的代码,它将查找与
globalObj.id

因此,您的代码的计算结果基本上是:

console.log("1170358" in globalObj);
console.log("1335975" in globalObj);
或者,如果globalObj上不存在id属性,并且没有使用严格模式,它将查找名称为
未定义的键,因为id未定义

console.log("undefined" in globalObj);
你想要

console.log("id" in globalObj);
使用您拥有的代码,它将查找与
globalObj.id

因此,您的代码的计算结果基本上是:

console.log("1170358" in globalObj);
console.log("1335975" in globalObj);
或者,如果globalObj上不存在id属性,并且没有使用严格模式,它将查找名称为
未定义的键,因为id未定义

console.log("undefined" in globalObj);