C'est mon code

var data={};

data={stdId:"101"};
data={empId:"102"};
data={deptId:"201"};

J'ai un objet de données obtenant des données des services avec une seule clé. mais les noms de clés sont différents comme stdId ou empId, etc.
Je veux attribuer une valeur vide à stdId ou empId, etc. comme data={stdId:""}.
Les noms de clés sont modifiés dynamiquement en fonction des services.

2
durga siva kishore mopuru 8 mars 2016 à 16:02

4 réponses

Meilleure réponse

Je ne sais pas exactement ce que vous essayez de réaliser, mais si vous connaissez le nom de la propriété que vous pourriez utiliser:

data['stdId'] = '';

Ou

data.stdId = '';

Si vous ne connaissez pas le nom de la propriété, mais que vous souhaitez toujours conserver les noms de propriété sur l'objet que vous pourriez utiliser:

for(var prop in data) {
  if(data.hasOwnProperty(prop)) {
    data[prop] = '';
  }
}
4
PierreDuc 8 mars 2016 à 13:07

Si je comprends bien votre question, vous ne connaîtrez pas le nom de la clé dans chaque objet et il n'y en a jamais qu'un. Pour résoudre votre problème:

data[Object.keys(data)[0]] = ''

Cela affectera la valeur de la clé à null.

0
millerbr 8 mars 2016 à 13:09
data.stdId = null;

Ou

data.stdId = '';

Ou

data = { stdId };

Les avez-vous essayées?

0
rrd 8 mars 2016 à 13:07

Vous pouvez utiliser la boucle for..in pour itérer sur l'objet de données à l'aide de la clé.

for(var key in data){
  if(data.hasOwnProperty(key)){
     data[key] = '';
  }
}

Remarque: Cela définira chaque propriété de data objet sur ''

1
Ankit Pundhir 8 mars 2016 à 14:03