在JavaScript中将null转换为空字符串

时间:2019-02-04 00:20:50

标签: javascript lodash

嗨,我可以将空字符串转换为空字符串吗?

我有一个这样的样本数据

'To':['test@gmail.com','test2@gmail.com','null','test3@gmail.com','null','null']


let toEmailAddress = _.toString(To)

现在它将变为

toEmailAddress  =
'test@gmail.com','test2@gmail.com','null','test3@gmail.com','null','null'

如何检查或将'null'替换为空字符串或空?

我知道我将使用_.replace或javascript .replace,但我不知道

我需要解决的最终输出看起来像这样

toEmailAddress  =
'test@gmail.com','test2@gmail.com','test3@gmail.com'

3 个答案:

答案 0 :(得分:1)

由于您已经在使用lodash,因此可以使用_.filter(或普通的Array.filter

您想要实现的是过滤掉嘈杂值,并且仅保留个值。您可以使用以下内容:

_.filter(['test@gmail.com','test2@gmail.com','null','test3@gmail.com','null','null'], v => v && v !== 'null'),它将为您提供['test@gmail.com','test2@gmail.com','test3@gmail.com']

不使用lodash的情况下,可以使用以下命令:['test@gmail.com','test2@gmail.com','null','test3@gmail.com','null','null'].filter(v => v && v !== 'null')

答案 1 :(得分:1)

您可以使用Javascript Array::filter()消除'null'字符串,例如:

const input = ['test@gmail.com','test2@gmail.com','null','test3@gmail.com','null',,,,'null'];

let res = input.filter(x => x !== 'null');
console.log(res.join(","));

答案 2 :(得分:1)

To = ['test@gmail.com','test2@gmail.com','null','test3@gmail.com','null','null',,,,,,,,,'test123@gmail.com'] ;

toEmailAddress = _.toString(To)变为以下内容:

'test@gmail.com,test2@gmail.com,null,test3@gmail.com,null,null,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,test123@gmail.com'

替换后,您可以在下面使用

toEmailAddress.replace(/(null|undefined)\s*,\s*/g, '')

如果您希望将其返回为字符串,结果将在字符串下方,只需在结果字符串上使用split(',')

'test@gmail.com,test2@gmail.com,test3@gmail.com,test123@gmail.com'