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/Jquery 通过事件切换对象

javascript - 在 HTML 音频标签中创建隐藏式字幕

jquery - 如果 div 值等于 '1' 隐藏另一个 div

jquery - FancyBox 根本不工作

javascript - Rails - 想要将文本字段/select_tags 灰显并仅通过复选框启用

c++ - 在 C++ 中使用 [] 而不是函数调用

javascript - 如何从 php 变量数组执行 jquery 自动完成功能

javascript - 为什么这个事件处理程序有两个箭头函数?

javascript - 如何让分页路由在 Ember.js 中正确加载?

javascript - 如何使用 JavaScript 从 DOM 获取 FileType?