javascript - 检查对象 JavaScript 中是否已存在值

标签 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.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/

相关文章:

javascript - 如何从 JS 中的数组中删除一个子集?

javascript - laravel:ajax发布后未显示 View

javascript - JS - 列出以逗号分隔的数组

javascript - 如何在刷新整个页面后清除下拉列表框。使用 ASP.NET MVC

javascript - 如何计算 Jquery/Javascript 中值发生更改的表单选择的数量

javascript - 正则表达式匹配模式或空值

javascript - 在 Angular 应用程序中以树结构显示数据

c - C 中的随机数和数组

javascript - Chrome 没有获取选定的 html 字符串包装标签(contenteditable)

Javascript:事件监听器中未定义 event.target.id