我想轉儲這個數組到字符串,並在評估它後得到相同的對象。如何轉儲JavaScript數據與函數評估字符串?
arr = [5, 86, function() { console.log(arguments); }, [console.log, 357]];
雖然函數可能有額外的屬性,但只有代碼是必要的重現。
我不能找到一種方法,在節點做到這一點:
> console.log(arr)
[5, 86, [Function] [ [Function], 357] ]
> util.format('%j', arr)
'[5,86,null,[null,357]]'
> arr.toString()
'5,86,function() { console.log(arguments); },function() {\n process.stdout.write(util.format.apply(this, arguments) + \'\\n\');\n},357'
後者已flatterned數組。
有沒有更好的方法?
更新:找到了滿意的解決方案,看到了自己的答案。
我已經改變了問題的標題。 :) – 2012-02-17 18:29:18
我認爲它可以代表功能。或者它可以嗎? 因爲我以前存儲在MongoDB中 – 2012-02-17 18:38:41
也許BSON能的功能,但是JSON不能:它適合在一個屏幕上:http://json.org – 2012-02-17 18:46:22