gpt4 book ai didi

javascript - 使用对象的每个 es6 检查每个属性的条件

转载 作者:行者123 更新时间:2023-11-29 18:57:55 24 4
gpt4 key购买 nike

我正在使用 React,我有这样的状态

this.state = {
form: {
name: {required: true, filled: false, value: ''},
age: {required: true, filled: false, value: ''},
dob: {required: false, filled: false, value: ''}
}
}

我想检查是否每个表单字段都已填写,我试过了

const formValid = Object.keys(this.state.form).filter(o=>{
return o.required
}).every(o=> {
return o.filled!==null && o.filled!==''
})

我知道这是错误的,因为 Object.keys 只是返回键,我希望状态是数组这会让我的生活更轻松,但如果我不想改变状态的结构怎么办?我该怎么做?

最佳答案

我会使用 Array#everyObject.keys

使用 Object.keys,您可以通过引用它所属的对象来获取值,例如。 this.state.form[key]

const formValid = 
Object.keys(this.state.form)
.every(key => (
this.state.form[key].required &&
this.state.form[key].filled !== null &&
this.state.form[key].filled !== ''
))

如果您需要对失败的引用,我会将 every 更改为 filter

关于javascript - 使用对象的每个 es6 检查每个属性的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48366609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com