我有一个构造函数:
function Library(author, readingStatus) {
this.author = author;
this.readerStatus = readingStatus;
}
我用它创建对象
var One = new Library("One", true);
var Two = new Library("Two", false);
我想遍历每个对象,然后在if / else语句中,我想检查readingStatus
是否为true
。如果是的话,我想提醒“已经阅读过”。
我尝试了不同的方法,但它不起作用。谁能说明怎么样? 编辑这就是我的尝试。
for (var i = 0; i < Library.length; i++) {
var book = "'" + Library[i].title + "'" + ' by ' + Library[i].author + ".";
if (Library[i].readingStatus) {
window.alert("Already read " + book);
} else
{
window.alert("You still need to read " + book);
}
}
答案 0 :(得分:1)
Library
不是您可以迭代的项目。要遍历对象,最好创建一个对象数组。例如,您在此处有两个对象One
和Two
。所以你可以创建一个数组,如下所示:
var array = [One, Two];
现在你可以遍历它们并检查所需的条件:
array.forEach(item => {
if (item.readerStatus === true) {
alert('already read');
}
});
这是一个完整的例子,在行动中:
function Library(author, readingStatus) {
this.author = author;
this.readerStatus = readingStatus;
}
var One = new Library("One", true);
var Two = new Library("Two", false);
var array = [One, Two];
array.forEach(item => {
if (item.readerStatus === true) {
alert(item.author + ' already read');
}
});