作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 Javascript,并且正在制作一个简单的用户验证对象。我需要一个函数,该函数将仅 console.log 将“isVerified”设置为 true 的用户。
我尝试了多种方法,包括循环和 if 语句。下面的函数名称为“showVerified”。
var person = {
info: [],
displayPerson: function() {
console.log('People', this.info);
},
addPerson: function(age, firstName, lastName) {
this.info.push({
age: age,
firstName: firstName,
lastName: lastName,
isVerified: false
});
this.displayPerson();
},
deletePerson: function(position) {
this.info.splice(position, 1);
this.displayPerson();
},
verifyPerson: function(position) {
this.info[position].isVerified = true;
this.info[position].firstName = this.info[position].firstName.toUpperCase();
this.displayPerson();
},
showVerified: function() {
for (var key in this.info) {
if (this.info.isVerified = true) {
console.log(this.info.isVerified[key]);
}
}
}
}
在我的 person 对象上运行 showVerified 时,我想要发生的事情是让它仅打印出任何经过验证的人的年龄、名字和姓氏。
最佳答案
我建议尝试更改命名属性的方式,以便代码更清晰一些。尝试一下
showVerified: function() {
this.info.filter(x => x.isVerified).forEach(v => console.log(v))
}
关于javascript - 如何只打印出正确的对象值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57913889/
我是一名优秀的程序员,十分优秀!