拆分空字符串应该返回空数组

时间:2016-09-28 19:14:17

标签: javascript arrays

如果我使用

''.split(',')

我得到['']而不是空数组[]

如何确保空字符串总是返回一个空数组?

4 个答案:

答案 0 :(得分:5)

您可以使用splice()

''.split(',').splice()
//[]

此示例适用于您的问题:

function returnArr(str){
  return !str ? [] : str.split(',')
}

returnArr('1,2,3')
// ['1','2','3']
returnArr('')
//[]

答案 1 :(得分:0)

试试这个

  r=s?s.split(','):[];

答案 2 :(得分:0)

split()总是试图分成几部分,所以你可以尝试:

l='';
list=(l=='')?[]:l.split(',');

始终适用于

l='p,q,r';
list=(l=='')?[]:l.split(',');

您还可以编写一个新的拆分方法,如:

String.prototype.split2 = function (ch) { 
   return (this=='')?[]:this.split(ch) 
}

所以tou可以尝试:

''.split2(',');         //result: []
'p,q,r'.split2(',');    //result: ['p','q','r']

答案 3 :(得分:0)

我想这应该这样做;



console.log(''.split(',').reduce((p,c) => c ? p.concat(c) : p ,[]));
console.log("test1,test2,".split(',').reduce((p,c) => c ? p.concat(c) : p ,[]));