web-dev-qa-db-fra.com

les propriétés de l'objet de vérification lodash ont des valeurs

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
})
5
Celdric Kang

En lodash, vous pouvez utiliser _.some

_.some(props.something, _.isEmpty)
26
Mukesh Soni

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);

3
Mayank Shukla

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
2
Marian Gálik