Firebase.update failed : first argument contains undefined in property
When you pass an object to Firebase, the values of the properties can be a value or null (in which case the property will be removed). They can not be undefined
, which is what you're passing in according to the error.
Simply running this snippet in isolation shows the problem:
var objify = function() {
var rv = {};
for (var i = 0; i < arguments.length; ++i)
rv[arguments[i]] = rv[arguments[i+1]];
return rv;
}
objify("name", "filler")
Results in:
{name: undefined, filler: undefined}
My best bet is that you want to pass key/value pairs into objify
as even/odd parameters. In that case you want to change the function to:
var objify = function() {
var rv = {};
for (var i = 0; i < arguments.length; i+=2)
rv[arguments[i]] = arguments[i+1];
return rv;
}
objify("name", "filler")
Results in:
{name: "filler"}
to make sure your object does not contain any undefined props use this simple trick:
JSON.parse( JSON.stringify(YourJsonData ) )
For more info take a look at this codePen: http://codepen.io/ajmueller/pen/gLaBLX