From 65696d2c837b5e84351cdce2294fdfb92e7f7ec2 Mon Sep 17 00:00:00 2001 From: Mathias Chouet <mathias.chouet@irstea.fr> Date: Wed, 22 Apr 2020 10:30:13 +0200 Subject: [PATCH] Fix arraysAreEqual() --- src/app/util.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/app/util.ts b/src/app/util.ts index cfc9ca3af..704320407 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 { -- GitLab