Вы можете использовать Object.values
и reduce
const a = { _: { a: 1 }, __: { b: 2 }, ___: { c: 3 } }
let op = Object.values(a).reduce((op,inp) => ({...op,...inp}) ,{})
console.log(op)
На заметке: - [119 ] Имейте в виду, что ...
сделает мелкую копию, только если вам нужно больше вложенных объектов, вам необходимо их клонировать
Использовать var result = value.split(",")
. Вы заканчиваете с массивом.
Вы не должны соответствовать доменам верхнего уровня [A-Z]{2,4}
:
Что относительно .museum
или .travel
? Что относительно доменов IDNA как .xn--0zwm56d
или .xn--11b5bs3a9aj6g
?
Кроме того, это совершенно допустимо, чтобы иметь адрес электронной почты как "John Doe"@example.org
.
По-моему, все, необходимо проверить сторону клиента, - то, если адрес содержит @
и если существует по крайней мере один .
после него. На стороне сервера Вы могли проверить, существует ли сервер (Вы могли бы даже хотеть попытаться соединиться с соответствующим портом SMTP), или просто отошлите почту проверки.
Все остальное подвержено ошибкам, поскольку фактический regex для проверки на действующие электронные адреса похож на это.
Кроме того, это
return (regex.test(field)) ? true : false;
серьезный WTF - test()
уже возвращает булево значение!
Если Вы хотите позволить различные разделители, используйте регулярное выражение вместо строки для разделения, например,
value.split(/,|;/)
В целом не возможно проверить адреса электронной почты. Что-то, что синтаксически допустимо, не обязательно идет куда угодно, и даже если это делает, будет ли это считано.
И даже затем, для покрытия всех возможных синтаксически корректных адресов (согласно применимому RFC) нужен чрезвычайно сложный regex (см. 1-й выпуск "Освоения Регулярных выражений" (Friedl, O'Reilly) для 4 724 или 6 598 символьных версий, и они, вероятно, не обрабатывают IDNs). Например, апостроф является допустимым символом в локальной части, и у Вас могут быть комментарии в электронной почте.
Как насчет того, чтобы разделить строку на массив и цикличное выполнение через него передающий всего один адрес электронной почты за один раз?