我想检查某个 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);
}
最佳答案
你想要
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);
关于javascript - 检查对象 JavaScript 中是否已存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23030679/