mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-01 23:57:49 +00:00
Ensure _.intersection handles non-array secondary values correctly.
This commit is contained in:
@@ -2696,7 +2696,10 @@
|
||||
* _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);
|
||||
* // => [1, 2]
|
||||
*/
|
||||
function intersection() {
|
||||
function intersection(array) {
|
||||
if (!array) {
|
||||
return [];
|
||||
}
|
||||
var args = [],
|
||||
argsIndex = -1,
|
||||
argsLength = arguments.length,
|
||||
@@ -2710,9 +2713,10 @@
|
||||
if (isArray(value) || isArguments(value)) {
|
||||
args.push(value);
|
||||
caches.push(prereq && value.length >= 120 &&
|
||||
createCache(argsIndex ? args[argsIndex] : seen));
|
||||
createCache(argsIndex ? value : seen));
|
||||
}
|
||||
}
|
||||
argsLength = args.length;
|
||||
var array = args[0],
|
||||
index = -1,
|
||||
length = array ? array.length : 0,
|
||||
|
||||
@@ -3524,7 +3524,8 @@
|
||||
});
|
||||
|
||||
test('should ignore individual secondary values', 1, function() {
|
||||
deepEqual(_.intersection([1, null, 3], 3, null), []);
|
||||
var array = [1, null, 3];
|
||||
deepEqual(_.intersection([1, null, 3], 3, null), array);
|
||||
});
|
||||
}());
|
||||
|
||||
@@ -9212,7 +9213,7 @@
|
||||
}
|
||||
|
||||
deepEqual(_.difference(array, null), array, message('difference'));
|
||||
deepEqual(_.intersection(array, null), [], message('intersection'));
|
||||
deepEqual(_.intersection(array, null), array, message('intersection'));
|
||||
deepEqual(_.union(array, null), array, message('union'));
|
||||
});
|
||||
}(1, null, [3], null, 5));
|
||||
|
||||
Reference in New Issue
Block a user