From 9c6f64c7b51d50e334ef1183e2937ad77c0a68b0 Mon Sep 17 00:00:00 2001 From: Bruno PIERRE Date: Mon, 24 Jan 2022 18:55:16 +0100 Subject: Core: Don't rely on splice being present on input Without this fix calling `jQuery.uniqueSort` on an array-like can result in: TypeError: results.splice is not a function at Function.jQuery.uniqueSort (https://code.jquery.com/jquery-git.js:664:12) at jQuery.fn.init.find (https://code.jquery.com/jquery-git.js:2394:27) at gocusihafe.js:3:4 Closes gh-4986 --- src/selector/uniqueSort.js | 3 ++- src/var/splice.js | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 src/var/splice.js (limited to 'src') diff --git a/src/selector/uniqueSort.js b/src/selector/uniqueSort.js index 127cc7068..e9438485c 100644 --- a/src/selector/uniqueSort.js +++ b/src/selector/uniqueSort.js @@ -1,6 +1,7 @@ import jQuery from "../core.js"; import document from "../var/document.js"; import sort from "../var/sort.js"; +import splice from "../var/splice.js"; var hasDuplicate; @@ -80,7 +81,7 @@ jQuery.uniqueSort = function( results ) { } } while ( j-- ) { - results.splice( duplicates[ j ], 1 ); + splice.call( results, duplicates[ j ], 1 ); } } diff --git a/src/var/splice.js b/src/var/splice.js new file mode 100644 index 000000000..7b3661cd1 --- /dev/null +++ b/src/var/splice.js @@ -0,0 +1,3 @@ +import arr from "./arr.js"; + +export default arr.splice; -- cgit v1.2.3