J'ai objet avec plusieurs propriétés, dit que c'est quelque chose comme ça
{ a: "", b: undefined }
dans jsx, y a-t-il une solution en une seule ligne que je peux vérifier si la propriété de cet objet n'est pas vide ou a une valeur ou non? Si tableau il y a une méthode isEmpty.
J'ai essayé ça
const somethingKeyIsnotEmpty = Object.keys((props.something, key, val) => {
return val[key] !== '' || val[key] !== undefined
})
En lodash, vous pouvez utiliser _.some
_.some(props.something, _.isEmpty)
Façons possibles:
Itérer toutes les clés et vérifier la valeur:
let obj = {a:0, b:2, c: undefined};
let isEmpty = false;
Object.keys(obj).forEach(key => {
if(obj[key] == undefined)
isEmpty = true;
})
console.log('isEmpty: ', isEmpty);
Utilisez Array.prototype.some () , comme ceci:
let obj = {a:0, b:1, c: undefined};
let isEmpty = Object.values(obj).some(el => el == undefined);
console.log('isEmpty: ', isEmpty);
Vérifiez l'index de undefined
et null
:
let obj = {a:1, b:2, c: undefined};
let isEmpty = Object.values(obj).indexOf(undefined) >= 0;
console.log('isEmpty: ', isEmpty);
Vous pouvez utiliser lodash _.every
et vérifier si _.values
sont _.isEmpty
const profile = {
name: 'John',
age: ''
};
const emptyProfile = _.values(profile).every(_.isEmpty);
console.log(emptyProfile); // returns false