我想检查一个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);
}
答案 0 :(得分:4)
你想要
console.log("id" in globalObj);
使用您拥有的代码,它将查找与globalObj.id
所以你的代码基本上评估为:
console.log("1170358" in globalObj);
console.log("1335975" in globalObj);
或者如果id属性在globalObj上不存在,并且没有使用严格模式,它将查找名为undefined
的键,因为id未定义
console.log("undefined" in globalObj);