每當我將文本分割成列表時,如果列表爲空,它將返回一個空白字符串。我怎樣才能避免這種情況,或擺脫它?擺脫分割中的空白「」字符串
var text = document.getElementById('textbox').value
var split = text.split(',')
如果我的文本框輸入什麼,它返回""
,因此使split
[""]
。這弄亂了我的程序,我怎麼能輕鬆地刪除空行看起來,或防止它沒有使用for循環來循環?這種情況下所需的輸出:[]
每當我將文本分割成列表時,如果列表爲空,它將返回一個空白字符串。我怎樣才能避免這種情況,或擺脫它?擺脫分割中的空白「」字符串
var text = document.getElementById('textbox').value
var split = text.split(',')
如果我的文本框輸入什麼,它返回""
,因此使split
[""]
。這弄亂了我的程序,我怎麼能輕鬆地刪除空行看起來,或防止它沒有使用for循環來循環?這種情況下所需的輸出:[]
如果您使用ES6,你可以做
split.filter((val) => val);
從由split
產生的數組中刪除空字符串。在JavaScript中,"" == false
。
實際上''.filter(String)'爲我工作!請添加到您的答案! – lol
@lol你可以回答你自己的問題,你知道... –
只需使用一個條件語句:
var split = text != '' ? text.split(',') : [];
這將使split
一個空數組,如果text
是一個空字符串。
此外,如果您希望測試對空的空間輸入您可以使用它代替:
var split = (text.trim() != '') ? text.split(',') : [];
修訂答:
基於從評論建議在這裏,你可以使用這個替代代碼更容易閱讀,儘管更詳細:
var split = [];
if(text.trim() != ''){
split = text.split(',');
}
你最好的答案可能來自這個堆棧問題: http://stackoverflow.com/questions/281264/remove-empty-elements-from-an-array-in-javascript –
你想得到什麼返回,而不是空陣列? –
我想''''不'''「]' – lol