2010-03-21 15 views

risposta

6

Assegnare un array vuoto ad esso

x = [] 
9

è possibile assegnare un nuovo array ad esso:

 
var array = ["element1","element2","element3"]; 
... 
array = new Array(); 

O

array = []; 
+0

che ha funzionato per me ,,, –

+0

Questo codice imposterà la "matrice" variabile a un nuovo array vuoto. Questo è perfetto se non si hanno riferimenti all'array "array" originale da nessun'altra parte perché questo crea effettivamente una nuova (vuota) matrice. Si dovrebbe fare attenzione con questo metodo perché se si fa riferimento a questa matrice da un'altra variabile o proprietà, la matrice originale rimarrà invariata. invece puoi usare array.length = 0. – amilaishere

1
var array = ["elem", "item"]; 
... 
array = []; // Empty! 
2
array.length = 0 

dovrebbe funzionare.

3

Che dire di eliminare?

delete array 

o per eliminare un unico indice:

delete array[x] 
+3

-1 'delete' non funziona. Prova: http://jsfiddle.net/k8nhe/ – Tadeck

+2

@Tadeck Ovviamente delete non funziona, delete è per le proprietà dell'oggetto senza l'attributo 'DontDelete', non' var' o 'function' che hanno il' DontDelete' attributo. Se si rende la matrice una proprietà della finestra [implicita] (http://jsfiddle.net/ult_combo/k8nhe/1/) o una [esplicita] (http://jsfiddle.net/ult_combo/k8nhe/2/) una funzionerà nella ** maggior parte dei ** browser ('delete' è dipendente dall'implementazione). [Ulteriori informazioni sull'eliminazione] (http://perfectionkills.com/understanding-delete/#property_attributes). (ma ovviamente, questo non è un modo ideale per dichiarare gli array) –

+0

cancellare non funziona per array. è solo lavoro per variabile. –

0

di rinvio (so che è vecchio e ha risposto)


Se si vuole svuotare la matrice, che è stata answered già. Se si vuole disinserire la matrice, è possibile assegnare una variabile non impostata ...

var undef; 
var myArr = []; 
... 
myArr = undef; 
// typeof myArr == undefined