我有一个包含错误消息的javascript对象:
err: {
subject: '',
body: '',
recipient: ''
},
我想根据是否存在错误来禁用提交按钮。在上面的声明中,没有错误。
我知道Object.values(err)
,但我不知道如何使用结果列表,该列表的长度为3。
我该怎么做?谢谢
答案 0 :(得分:3)
您可以在Array.some()
上使用Object.values()
来检查是否有错误消息
let obj = {
err: {
subject: '',
body: '',
recipient: ''
}
};
let someErrors = Object.values(obj.err).some(e => e.length);
console.log(someErrors);
答案 1 :(得分:1)
const obj = {name:“ Naimur”,age:21}
console.log(obj中的“名称”)=> true
console.log(obj中的“ age”)=>是
console.log(obj中的“位置”)=> false
答案 2 :(得分:0)
也许是这样的:
var data={
err: {
subject: '',
body: '',
recipient: ''
},
};
if(data.err.subject!='' || data.err.body!='' || data.err.recipient!=''){
console.log('ERROR!');
}else{
console.log('ALL RIGHT!');
}
答案 3 :(得分:0)
var err = {
subject: 'some error',
body: 'message',
recipient: 'Tom'
};
Object.values(err)
将返回一个数组Array ["some error", 'message', 'Tom']
。现在,您可以检查此数组的值,然后在这些值满足某些条件时禁用按钮。
希望有帮助。
答案 4 :(得分:0)
我假设所有元素都必须等于”,以产生有效的错误。因此,您可以使用.every()
方法检查返回数组中的每个元素。如果只有某些元素必须等于”才能出现错误消息,请改为使用用户.some()
。
let err = {
subject: '',
body: '',
recipient: ''
}
console.log(!Object.values(err).every(e => e === '')) //returns false meaning there isn't an error message
答案 5 :(得分:0)
您可以使用.reduce()返回错误总和,并检查此代码中err是否具有值
if( (Object.values(err).length) ? Object.values(err).reduce((ac, next) => ac + next.length, 0) :false ){
console.log( 'there is errors' );
}