【问题标题】:Check if value already exists on an object javascript检查对象javascript上是否已存在值
【发布时间】:2014-04-12 12:56:33
【问题描述】:

我会检查一个 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 是否已经在对象上,但它不起作用。它总是返回假。怎么了?

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

  console.log(globalObj.id in globalObj);
}

【问题讨论】:

    标签: javascript jquery arrays object


    【解决方案1】:

    你想要的

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 2021-11-25
      相关资源
      最近更新 更多