This feels like it should be simple, so sorry if I'm missing something here, but I'm trying to find a simple way to concatenate only non-null or non-empty strings.
I have several distinct address fields:
var address;
var city;
var state;
var zip;
The values for these get set based on some form fields in the page and some other js code.
I want to output the full address in a div
, delimited by comma + space, so something like this:
$("#addressDiv").append(address + ", " + city + ", " + state + ", " + zip);
Problem is, one or all of these fields could be null/empty.
Is there any simple way to join all of the non-empty fields in this group of fields, without doing a check of the length of each individually before adding it to the string?
Best Answer
Consider
.filter(Boolean)
(which is the same as.filter(x => x)
) removes all "falsy" values (nulls, undefineds, empty strings etc). If your definition of "empty" is different, then you'll have to provide it, for example:will only keep non-empty strings in the list.
--
(obsolete jquery answer)