检查一个键是否存在于数组中的所有对象中并设置一个布尔值

时间:2021-04-20 11:06:22

标签: javascript

检查键是否存在于对象数组中,如果存在值不为空或未定义并设置一个布尔值。

let valid = false;
a = [{key: customer, setvalue: 'def'}, {key: customer, setvalue: 'abc'}]
valid = false;
a = [{key: customer, setvalue: 'abc'}, {key: customer}]
valid = true;
a = [{key: customer, setvalue: undefined}, {key: customer, setvalue:'abc'}]
valid = true;

仅当所有对象都有值时 setvalue 有效应该为 false 否则有效 true,必须用于按钮禁用,只有当值有效时,才应启用按钮

a.every(el => (el.hasOwnProperty('setvalue') || el?.setvalue !== '' || el?.setvalue !== undefined) ? valid = true : valid = false);

我尝试了每一个,但如果为 false 则它的值

1 个答案:

答案 0 :(得分:0)

您需要将您的作业移出 every 回调:

valid = a.every(el =>
    el?.hasOwnProperty('setvalue') &&
    el?.setvalue !== '' &&
    el?.setvalue !== undefined &&
    el?.setvalue !== null);

我还添加了缺失的 null 检查。

相关问题