Tableau de Tableau, JSON.stringify() donnant tableau vide au lieu de l'ensemble de l'objet

Voici mon tableau (à partir de Chrome de la console):

Tableau de Tableau, JSON.stringify() donnant tableau vide au lieu de l'ensemble de l'objet

Voici la partie pertinente de code:

console.log(hours);
var data = JSON.stringify(hours);
console.log(data);

Dans google Chrome, console j'obtiens [] de la dernière ligne. Je devrais obtenir {'Mon':{...}...}

Ici est le montant minimal de JavaScript pour reproduire le problème:

var test = [];
test["11h30"] = "15h00"
test["18h30"] = "21h30"
console.log(test);    
console.log(JSON.stringify(test)); //outputs []

J'ai essayé quelques autres trucs comme
Convertir le tableau en JSON ou Convertir javascript objet ou un tableau json pour les données ajax mais le problème demeure.

Pourriez-vous faire un exemple vivant sur jsfiddle.net par exemple?
où obtenez-vous les Heures à partir de? Il ne semble pas comme un js tableau, il apparaît davantage comme un objet..
Vous avez un objet en se faisant passer pour un tableau il - les length dit zéro et les propriétés sont nommés.
Il semble que vous avez créé des tableaux ([]) lorsque vous avez réellement besoin d'objets ({}). En JavaScript si vous souhaitez utiliser des touches numériques (par exemple, "11h30"), vous aurez besoin d'utiliser un objet à la place.
Double Possible de le passage d'un tableau json.stringify, bien que les réponses ne vont pas dans les détails à propos de pourquoi un objet est nécessaire par rapport à un tableau.

OriginalL'auteur Eat Salad | 2015-02-13