JSFiddle - React, Tailwind, and code Playground
by lchau
HTML
<textarea id="output" cols=100 rows=50></textarea>
JavaScript
/*
var output = document.querySelector('#output');
function print(obj) {
var str = _.isString(obj) ? str : JSON.stringify(obj, null, 2);
output.value += str + '\n\n';
}
_.mixin({
merge: function() {
return _.reduce(arguments, function(accumulator, object) {
_.each(object, function(value, key) {
if (!_.isUndefined(value)) {
accumulator[key] = value;
}
});
return accumulator;
}, {});
},
});
var obj = _.merge(
{ a: 1, b: 2, d: null},
{ c: undefined, e: null },
{ a: 3 }
);
console.log(obj);
*/
var filter = _.reject([
1,
undefined,
"",
null,
0,
NaN,
false,
true,
-1,
['x'],
[[undefined]],
{},
{ a: 1 },
Infinity
], value => {
switch (true) {
default:
throw new Error("nope");
case _.isNull(value):
case _.isUndefined(value):
return true;
case _.isNumber(value):
return !_.isFinite(value);
case _.isBoolean(value):
return false;
case _.isArray(value):
return _.isEmpty(_.flatten(value));
case _.isString(value):
case _.isObject(value):
return _.isEmpty(value);
}
});
console.log(filter);