Сравнение объекта массива Javascript с объектами типа массива - пояснение

Я пытался преобразовать в строку объект, подобный массиву, который был объявлен как объект массива, и обнаружил, что JSON.stringify некорректно обрабатывает подобный массиву объект, когда он определен как объект массива.

См. Ниже для большей ясности -> jsFiddle

var simpleArray = []; //note that it is defined as Array Object 

alert(typeof simpleArray); // returns object -> Array Object

simpleArray ['test1'] = 'test 1';
simpleArray ['test2'] = 'test 2';

alert(JSON.stringify(simpleArray)); //returns [] 

Он работал нормально и вернул мне {"test1": "test 1", "test2": "test 2"} когда я изменил

var simpleArray = []; на var simpleArray = {}; .

Может ли кто-нибудь пролить свет или какую-нибудь ссылку, где я могу прочитать больше?

Редактировать:

Вопрос: Когда typeof simpleArray = [] и simpleArray = {} возвращал объект, почему JSON.stringify не смог вернуть { "test1": "test 1", "test2": "test 2"} в обоих случаях?

6
задан Selvakumar Arumugam 7 February 2012 в 22:14
поделиться