If I console.log
my array I get this:
[ 'query', undefined, [Function] ]
However if I JSON.stringify
the array I get
['query',null,null]
In most cases this is exactly what you want when converting JSON.
However I was wondering if there was a way to capture a string or array of types as in the first array.
someFunc(arr) // '[ 'query', undefined, [Function] ]' (one big string)
someFunc(arr) // [ 'query', 'undefined', '[Function]' ] (array of strings)
Well, you can just map the items like this:
['query', undefined, function() { }].map(function(item) {
if (item instanceof Function) return '[Function]';
if (item === null) return 'null';
if (item === undefined) return 'undefined';
return item.toString();
});