为了账号安全,请及时绑定邮箱和手机立即绑定

如何仅打印出为真的对象值?

如何仅打印出为真的对象值?

守着一只汪 2021-10-14 16:39:59
我正在学习 Javascript,并且正在制作一个简单的用户验证对象。我需要一个函数,该函数将仅将“isVerified”设置为 true 的用户记录到 console.log。我尝试了很多方法,包括循环和 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 时,我想要发生的是,它只打印出任何经过验证的人的年龄、名字和姓氏。
查看完整描述

2 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

我建议尝试更改命名属性的方式,这样代码会更清晰一些。尝试


showVerified: function() {

        this.info.filter(x => x.isVerified).forEach(v => console.log(v))

    }


查看完整回答
反对 回复 2021-10-14
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

如果你不想使用过滤器,你也可以试试这个


this.info.forEach(person => {

   if(person.isVerified){

   console.log(person);

   }

});


查看完整回答
反对 回复 2021-10-14
  • 2 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信