Преобразование нуля в пустую строку в JavaScript - PullRequest
0 голосов
/ 04 февраля 2019

Привет, могу ли я преобразовать пустую строку в пустую строку?

У меня есть пример данных, подобный этому

'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 голосов
/ 04 февраля 2019

Вы можете использовать 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(","));
0 голосов
/ 04 февраля 2019
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'
0 голосов
/ 04 февраля 2019

Поскольку вы уже используете 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')

...