2013-08-30 259 views
-4

我看到的代碼片段這樣什麼string.split(/(, n S +)/)不

// o is a string 
var o = JSON.stringify({ 
"name": "my title", 
"version": "0.0.2", 
"description": "my desc", 
"main": "index.js"}, null, 2) 

o.split(/(,\n\s+)/) 
.map(function (e, i) { 
    return i%2 ? '\n'+e.substring(4)+' ,' : e 
}) 
.join(''); 

什麼/(,\n\s+)/做在分割功能?

回答

1

它看起來像它試圖分割一個縮進的JSON片段以獲取鍵值對分離。這種方法非常脆弱,因爲它假定片段的確切格式。如果有,例如,它不起作用。換行符之前的逗號之後的空格。有很多情況下這不起作用。因此,除非在特定JSON格式的環境中使用此代碼,否則代碼可能會被視爲較弱。

相關問題