[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Auswahl und Gruppierung von übereinanderliegenden Objekten

WernerPerplies
Beiträge gesamt: 2762

23. Jun 2019, 15:59
Bewertung:

gelesen: 7008

Beitrag als Lesezeichen
Hallo Faxinger,

ich weiß nicht, ob meine Antwort Dein Problem löst, weil ich nur einen Punkt beantworte:

Zitat Mir gelingt es nicht 2 Arrays miteinander zu vergleichen.


Diese Routine vergleicht zwei Arrays, die keine verschachtelten Elemente enthalten, die aufeinander verweisen.

Code
// DESCRIPTION compare an array 
// Dateiname: wpsPrototypesArrayCompare.jsx
// © 2018 by Werner Perplies, EDV-Anwendungsberatung,
// http://www.weepee.de, email: werner.perplies@weepee.de
// created: Wed May 16 2018 08:59:36 GMT+0200
// [lastFileProps:({time:"1538052559000", size:2005, checkSum:0, clone:(function anonymous() { [compiled code] } )})]
// #include "C:/Users/WernerPerplies/Source/Workspaces/Singles/Array/Prototypes/wpsPrototypesArrayCompare.jsx";
// [end of header]

// #include "C:/Users/WernerPerplies/Source/Workspaces/Singles/ErrorHandling/wpsErrorClass.jsx";

/*Array*/Array.prototype.compare = function(/*Array*/arrayTc)
{
var /*Boolean*/result = true;
try
{
if ((typeof(arrayTc) == "object") && (arrayTc.constructor.name == "Array"))
{
if (this.length == arrayTc.length)
{
for (var i = 0; i < this.length; i++)
{
if (typeof(this[i]) != typeof(arrayTc[i]))
{
result = false;
break;
}
if ((typeof(arrayTc[i]) == "object") && (arrayTc[i].constructor.name == "Array"))
{
if (!this[i].compare(arrayTc[i]))
{
result = false;
break;
}
}
else if (this[i] != arrayTc[i])
{
result = false;
break;
}
}
}
}
}
catch (error)
{
// wpsHandleError(error, $.stack, _thisClass.name + "." + "_checkBookState", _thisClass)
alert(error.message);
}
return result;
}

alert([1,[1234],2].compare([1,[1234],2]));
alert([1,[124],2].compare([1,[1234],2]));


Allgemeiner geht es hiermit:
Objekte vergleichen - WpsCompareObjects
aber das ist dann schon richtig komplex.

(Dieser Beitrag wurde von Urs Gamper am 24. Jun 2019, 08:56 geändert)
Änderungsverlauf:
Beitrag geändert von Urs Gamper (il padrone) am 24. Jun 2019, 08:56