backbone-nested icon indicating copy to clipboard operation
backbone-nested copied to clipboard

Using _.union to combine arrays alters arrays with non unique values

Open albertogasparin opened this issue 10 years ago • 0 comments

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.

albertogasparin avatar Jan 02 '15 12:01 albertogasparin