backbone-nested
backbone-nested copied to clipboard
Using _.union to combine arrays alters arrays with non unique values
Imagine you have a default like myArray : [].
Then, you initialize a model passing an initial value of myArray: [1,1,2,3].
The result of model.get('myArray') is not [1,1,2,3] but it is [1,2,3].
This issue is caused by this function:
combine = function(key) {
return source[key] = _.union(destination[key], source[key]);
};
As a metter of fact, _.union returns all unique items inside the two arrays. So, if my destination[key] array is not unique the result will be wrong.