配列オブジェクトとして宣言された配列のようなオブジェクトをストリングしようとしましたが、JSON.stringifyが配列のようなオブジェクトを正しく処理していないことがわかりました配列オブジェクト。Javascript Arrayオブジェクトと配列類似オブジェクト - 明確化
は、より明確にするため、以下を参照してください - >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 []
それはうまく働いたと私はvar simpleArray = {};
に
var simpleArray = [];
を変更したときに私{"test1":"test 1","test2":"test 2"}
を返しました。
誰かが私がもっと読むことができるいくつかの光を照らすことができますか?
編集:
質問:JSON.stringifyは両方のケースで{"test1":"test 1","test2":"test 2"}
を返すことができなかった理由のtypeof simpleArray = []
とsimpleArray = {}
返されたオブジェクト、?
私が知りたいのは、JSON.stringifyが[]として宣言されたときに処理できなかった理由です。 –
ありがとうございました!私はinstanceofを探していた。私はどちらの場合でもオブジェクトを返すtypeofを使用しようとしていました。 –
ES 5以降では、フレームセーフである 'Array.isArray(...)'(15.4.3.2)もあります。エミュレートすることができます。 – PointedEars