From 48f11812bd0076064d022e56f73e06be985f9cc0 Mon Sep 17 00:00:00 2001 From: xaveyaguarez Date: Sun, 17 Dec 2017 00:08:55 -0800 Subject: [PATCH] coalesce snippet --- snippets/coalesce.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 snippets/coalesce.md diff --git a/snippets/coalesce.md b/snippets/coalesce.md new file mode 100644 index 000000000..d740b14c0 --- /dev/null +++ b/snippets/coalesce.md @@ -0,0 +1,11 @@ +### Coalesce a set of arguments + +Use `find()` to return the first non excluded argument. + +```js +const coalesce = (...args) => args.find(_ => ![undefined, null].includes(_)) +// coalesce(null,undefined,"",NaN, "Waldo") -> "" + +const coalesceFactory = (excludes = [null, undefined]) => (...args) => args.find(_ => !excludes.includes(_)) +// coalesceFactory([null, undefined, "", NaN])(undefined, null, NaN, "", "Waldo") -> "Waldo" +```