2015-01-07 13 views
6

ho:Come rimuovere elemento da array di tipo indice stringa tipografico

interface IMap { 
[name: string]: string; 
} 

var map: IMap = {}; 
map["S"] = "s"; 
map["C"] = "c"; 
map["D"] = "d"; 

Come posso rimuovere completamente elemento della mappa [ "S"]? Non voglio finire con un oggetto nullo quindi utilizzare la mappa di cancellazione ["S"] non funzionerebbe.

+3

Perché pensi che 'delete mappa [" S "]' lascerà un null dietro? Non dovrebbe semplicemente comportarsi come JS? Hai provato? –

+0

Ho appena realizzato che avevo un errore di battitura e ottenevo [oggetto oggetto] quando stampavo il risultato. Dopo aver risolto che ho visto che l'oggetto è stato rimosso con successo. – bb2

risposta

11

Come rimuovere completamente la mappa ["S"] dell'articolo? Non voglio finire con un oggetto nullo in modo cancellare mappa utilizzando [ "S"]

delete lo fa chiaro completamente:

interface IMap { 
[name: string]: string; 
} 

var map: IMap = {}; 
map["S"] = "s"; 
map["C"] = "c"; 
map["D"] = "d"; 

delete map["S"]; 
console.log(map); 
console.log(map["S"],map["non-existent"]); // undefined,undefined 
console.log(Object.keys(map)); // ["C","D"] 
Problemi correlati