Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-04-2011, 19:00   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 36
Drei Arrays vergleichen

Ich möchte es gerne schaffen drei Arrays in denen sich variable zahlen befinden zu vergleichen und herausfinden, welche der Zahlen in allen drei Arrays vorkommt.

Weiß vielleicht einer eine Lösung.
__________________
LG FlashQualle. http://die-freax.de
FlashQualle ist offline   Mit Zitat antworten
Alt 30-04-2011, 22:14   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
PHP-Code:
var arr1:Array = [2345678910];
var 
arr2:Array = [1357];
var 
arr3:Array = [123571113];
var 
arr4:Array = [2468];

function 
compareArrays(...arrays:Array):Array
{
    var 
out:Array = [];
    if(
arrays.length 1){
        
arrays.sortOn('length', Array.NUMERIC);
        
        for 
each(var v:* in arrays.shift()){
            var 
c:Boolean false;
            for 
each(var arr:Array in arrays){
                
                if(
arr.indexOf(v) == -1){
                    
true;
                    break;
                }
            }
            if(
c) continue;
            
            
out.push(v);
        }
    }else if(
arrays.length == 1){
        return 
arrays[0].slice();
    }
    return 
out;
}


trace('->'compareArrays(arr1arr2arr3));
trace('->'compareArrays(arr1arr4));
trace('->'compareArrays(arr4arr1arr3));
trace('->'compareArrays());
trace('->'compareArrays(arr3arr1arr4arr2));
trace('->'compareArrays(arr2)); 
__________________
greetz Thomas

plz RTFM & Coding Conventions

Geändert von thomas_E (30-04-2011 um 22:24 Uhr)
thomas_E ist offline   Mit Zitat antworten
Alt 30-04-2011, 23:30   #3 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Eine andere Variante.
Code:
function getDoubles(array:Array /* of Arrays of uint, int or Number */):Array /* of uint, int or Number */
{
	if (!array || array.length <= 1) return [];

	array.forEach(function(element:Array, index:int, arr:Array):Boolean {
				return element.sortOn('length', Array.NUMERIC)})

	var max:int = 0;

	for each(var harry:Array in array)
		if (harry[harry.length - 1] > max)
			max = harry[harry.length - 1];

	const ret:Array = [];

	for (var i:int; i <= max; i++)
		if (array.every(function(element:Array, index:int, arr:Array):Boolean {
				return element.indexOf(i) > -1;}))
			ret[ret.length] = i;

	return ret;
}

Geändert von Omega Psi (30-04-2011 um 23:50 Uhr)
Omega Psi ist offline   Mit Zitat antworten
Alt 01-05-2011, 00:48   #4 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
hast mich auf eine Idee gebracht. mal ein sinvoller Einsatz für Closures
PHP-Code:
function compareArrays(arrays:Array):Array
{
    if(!
arrays || arrays.length 1) return [];
    
    
arrays.sortOn('length', Array.NUMERIC);
    return 
arrays.shift().filter(function(v:*, index:int, array:Array):Boolean {
        return 
arrays.every(function(arr:Array, index:int, array:Array):Boolean { return arr.indexOf(v) > -1; });
//  }).sort(Array.NUMERIC);        //entweder
    
});                            //oder

__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 01-05-2011, 01:09   #5 (permalink)
skylla
 
Benutzerbild von szylla
 
Registriert seit: Feb 2011
Beiträge: 166
Thumbs up

wtf?! sehr krass!

--> "Closures"?! infos bitte...

Geändert von szylla (01-05-2011 um 01:10 Uhr)
szylla ist offline   Mit Zitat antworten
Alt 01-05-2011, 09:17   #6 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Closures speichern die Informationen des Scopes, in denen eine Funktion aufgerufen wird. So hat haben die anonymen Funktionen, die in Array.every und Array.filter definiert werden, Zugang auf Variablen, die in der umgebenden Funktion definiert sind.
Omega Psi ist offline   Mit Zitat antworten
Alt 01-05-2011, 09:22   #7 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.041
Zitat:
Zitat von szylla Beitrag anzeigen
--> "Closures"?! infos bitte...
Array (ActionScript 3.0)

Zitat:
Für diese Methode muss der zweite Parameter (thisObject) den Wert null haben, wenn der erste Parameter (callback) ein Methodenabschluss ist.
Das machen Omega und Thomas indem sie den zweiten Parameter weg lassen, der hat den defaultwert null. (siehe Link)

Closure, Methode, Funktion, Prozedur, Routine...Informatik, Wissenschaft der vielen schicken Namen für sehr ähnliche Dinge. (Polymorphie ist wirklich überall )
__________________
anbei Grüße vom milchreis: Viva la [Silb]

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 01-05-2011, 09:32   #8 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Closure != Methode.
Omega Psi ist offline   Mit Zitat antworten
Alt 01-05-2011, 11:21   #9 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.041
Zitat:
Zitat von Omega Psi Beitrag anzeigen
Closure != Methode.
Das Gegenteil hat niemand behauptet.
__________________
anbei Grüße vom milchreis: Viva la [Silb]

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 01-05-2011, 11:41   #10 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Hab mich geirrt. Hatte eine Formulierung falsch im Hinterkopf
Omega Psi ist offline   Mit Zitat antworten
Alt 01-05-2011, 20:41   #11 (permalink)
JoH
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 99
Zitat:
Closures speichern die Informationen des Scopes, in denen eine Funktion aufgerufen wird. So hat haben die anonymen Funktionen, die in Array.every und Array.filter definiert werden, Zugang auf Variablen, die in der umgebenden Funktion definiert sind.
Und genau deswegen sind closures ein sehr mächtiges Instrument und es ist erfreulich das es in as3 möglich ist.
In Java z.B. ist das derzeit nicht möglich.
__________________
http://blog.johannes-hodde.com
JoH ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
actionscript 3.0, array, vergleichen, zahlen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
arrays vergleichen? Mr.Twister ActionScript 1 12 18-06-2006 19:22
2 Arrays vergleichen Compiler Flash MX 8 02-05-2006 12:13
Drei komplexe Arrays mit PhpSerializer an PHP übertragen Utopian ActionScript 2 12 17-04-2006 21:48
Arrays vergleichen derkrebs Flash MX 2 01-12-2004 14:28
arrays vergleichen murmel ActionScript 1 9 03-04-2004 16:20


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele