【问题标题】:Check if an object contains a property called format in Javascript检查对象是否包含 Javascript 中称为 format 的属性
【发布时间】:2021-02-28 12:00:47
【问题描述】:

我在 Web 应用程序中有一个电影对象数组,每个对象都有 title(string)release year(int)rating(int)genre(an array of string e.g ['Action','Sci-Fi] 的属性,现在一些电影对象有 format(string) 的属性而其他人则没有。我所需要的只是帮助遍历这些对象并检查哪些对象没有format 属性并将该属性添加到这些对象并使用Film 为那些没有的对象设置值.. . 这是我到目前为止尝试的js代码

var fractured={
  title:"Fractured",
  release:2019,
  rating:8,
  format:"digital",
  genre:[
    "Mystery","Sci-Fi","Western"]
};
var countdown={
  title:"Countdown",
  release:2018,
  rating:5,
  genre:["Sci-Fi","Mystery","Western"]
}
var bloodshot={
  title:"Bloodshot",
  release:2020,
  rating:6,
  format:"digital",
  genre:["Sci-Fi","Action"]
}
var revenant={
  title:"Revenant",
  release:2015,
  rating:3,
  genre:["History","Western","Action"]
}
var crisis={
  title:"Crisis",
  release:2016,
  rating:10,
  genre:["Action","Drama","Reality"]
}
var life={
  title:"Life",
  release:2017,
  rating:9,
  format:"digital",
  genre:["Sci-Fi","Action","Mystery"]
}
var nmovies=new Array(fractured,life,crisis,revenant,bloodshot,countdown);

//This line outputs the title property of the first object in nmovies;
console.log(nmovies[0].title);

//this is the iteration that needs to check if an object has a format property and add it with the value 'Film'
nmovies.forEach(myfunction());

function myfunction(item, index){
//Code to check please
}

感谢您的意见。

【问题讨论】:

标签: javascript loops iteration


【解决方案1】:

我是 JavaScript 新手,但希望它可以工作。

function myfunction(item, index) {
  if (!item.hasOwnProperty("format")) {
    item.format = "Film";
  }
}

【讨论】:

  • 我实际上是为了完整的电影而这样做的。真的很抱歉没有仔细阅读。
  • 它确实,说循环中的format 未定义,我应该引用它吗?
  • 是的,再次抱歉。你需要引用它。
  • 它不返回任何输出,我是否应该期望它在没有格式属性的情况下更改对象的结构?
  • 它正在向所有没有您要求的格式属性的人添加值为“电影”的对象属性格式。该函数没有返回任何内容。如果它没有显示错误,它可能工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-02
  • 2019-06-27
  • 2019-09-09
  • 2018-06-09
  • 2012-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多