2016-01-16 1 views
1

J'ai un tableau comme indiqué dans mon code ci-dessous. Comment réinitialiser toutes ces chaînes à "", sans avoir à faire explicitement référence à chaque clé? Est-il possible de simplement se référer à l'objet parent et dire que tous ses enfants = ""?Code Javascript abrégé pour définir toutes les clés d'un tableau afin de vider les chaînes ("")

rmtData = { 
    FirstName : "Jane", 
    LastName : "Doe", 
    Gender : "F", 
    Details : "Therapist" 
}; 

//other code here... 

//then reset all variables here: 

rmtData.FirstName = ""; 
rmtData.LastName = ""; 
rmtData.Gender = ""; 
rmtData.Details = ""; 
+2

C'est un objet – Andreas

+0

Ah bon. Merci ouais. –

+0

['for ... in'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) – Andreas

Répondre

4
for (var key in rmtData) rmtData[key] = ""; 

et oui, il est un object

+0

Merci! Je perdais le sommeil sur ce lol. –

3

Vous pouvez obtenir les clés d'objet avec Object.keys() fonction et itérer il:

Object.keys(rmtData).forEach(function(key) { 
    rmtData[key] = ""; 
}); 
2

j'écrire une fonction pour faire cela .. Il semble que vous ayez un objet à utiliser n fois, donc je ferais quelque chose comme ça

function new_rmtData(){ 
    var xxx = { 
    FirstName: "", 
    LastName : "", 
    Gender : "", 
    Details : ""}; 
    return xxx; 
} 

donc chaque fois que vous devez définir un nouveau var ou pour réinitialiser un il vous suffit d'appeler la fonction ..

rmtData = new_rmtData(); 
+0

Ah je vois, ouais devrait fonctionner aussi. Je vais expérimenter avec cette option haha –