diff --git a/src/app/util.ts b/src/app/util.ts index cfc9ca3af92300c9750aeb3941619dd2a01e3d9e..70432040747b16fdb7e4039dfebdcc1b9a3d334d 100644 --- a/src/app/util.ts +++ b/src/app/util.ts @@ -163,15 +163,17 @@ export function generateValuesCombination( } export function arraysAreEqual(arrayA: any[], arrayB: any[], property?: string, sort = false): boolean { + let aA: any[] = JSON.parse(JSON.stringify(arrayA)); // array copy + let aB: any[] = JSON.parse(JSON.stringify(arrayB)); // array copy if (sort) { - arrayA.sort((a, b) => a-b); - arrayB.sort((a, b) => a-b); + aA.sort((a, b) => a-b); + aB.sort((a, b) => a-b); } let equal = true; - if (arrayA.length === arrayB.length) { - for (let i=0; i < arrayA.length; i++) { - const eA = arrayA[i]; - const eB = arrayB[i]; + if (aA.length === aB.length) { + for (let i=0; i < aA.length; i++) { + const eA = aA[i]; + const eB = aB[i]; if (property === undefined) { equal = equal && (eA === eB); } else {