Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-11-2006, 12:10   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 287
array doppelte finden

hallo leute,
habe schon ausgiebig die suchfunktion genutzt aber nichts passendes zu meinem prob gefunden.

also ich habe ein array.

PHP-Code:
test_array = [[12455], [12453], [12452],  [12453],[12453]]; 
jetz will ich mit einer funktion überprüfen, ob innerhalb test_array[0][x] die gleichen zahlen vorhanden sind. dann für alle test_array[1][x]. das wird dann ja in einer schleife realisiert.

die beispiele im forum gehen immer davon aus, dass es ein 2.array zum vergelichen gibt oder das vorhandene array wird neu sortiert und dann die doppelten entfernt. ich will aber nur sagen, dass es doppelte gibt.

später dann analog für test_array[x][0]...

weiss eienr rat ? oder einen tipp ?

PHP-Code:
for (i=0i<=4i++) {
        for (
k=0k<=4k++) {
            
trace(spielfeld[i][k]);
        }
    } 
habe das schon, dass es das array durchläuft
~flasher ist offline   Mit Zitat antworten
Alt 29-11-2006, 12:28   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!

Was spricht denn gegen ein weiteres Array zur Überprüfung? So in der Art hier:
PHP-Code:
var test_array = [[12455], [12453], [12452], [12453], [12453]];
for (var 
i in test_array) {
    var 
temp = [];
    var 
count 1;
    for (var 
k in test_array[i]) {
        
temp.push(test_array[i][k]);
    }
    
temp.sort();
    for (var 
j in temp) {
        if (
checker == temp[j]) {
            
count++;
        } else if (
checker && count>1) {
            
trace(checker+" ist "+count+" mal in Array "+i+" vorhanden.");
            
count 1;
        }
        var 
checker temp[j];
    }

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 29-11-2006, 12:36   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 287
danke für die shcnelle antwort.

leider klappt das aber nicht wenn du die zahlen im array veränderst.
dann gibt er keine fehlermeldung aus bzw. falsch

gib mal in die erste zeile: [5, 3, 4, 1, 5] ein
~flasher ist offline   Mit Zitat antworten
Alt 29-11-2006, 12:46   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von ~flasher Beitrag anzeigen
gib mal in die erste zeile: [5, 3, 4, 1, 5] ein
Ja, und?

Ausgabe:

2 ist 2 mal in Array 2 vorhanden.
5 ist 2 mal in Array 0 vorhanden.

edit: ...wobei es schon sein kann, dass es nicht 100% funzt. Sollte als Ansatz aber reichen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (29-11-2006 um 12:52 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 29-11-2006, 12:51   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 13
Vllt hilft das weiter.

PHP-Code:
// by http://flashhilfe.de/prototype/kommentare.html?id_forum=85938&kat=0&seite=0
Array.prototype.array_unique = function() {
    var 
ijcheckertemp_ary = [], 0laenge this.length;
    for(
i=0;i<laenge;i++) {
        
checker false;
        for(
j=0;j<temp_ary.length;j++)
            if(
temp_ary[j] === this[i])
                
checker true;
        if(
checker == false)
            
temp_ary[g++] = this[i];
    }
    return 
temp_ary;
}

ASSetPropFlags(Array.prototype,"array_unique",1,true);


neues_array liste[0].array_unique();
trace(neues_array); 
tLow ist offline   Mit Zitat antworten
Alt 29-11-2006, 12:56   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 287
komisch..manchmal wenn cih andere zahlen eingebe, erkennt er sie nciht als fehler an.

eine frage dazu: wofür ist der sort befehl ?
~flasher ist offline   Mit Zitat antworten
Alt 29-11-2006, 13:07   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
So sollte es jetzt aber gehen :
PHP-Code:
var test_array = [[53415], [55555], [12452], [12453], [12453]];
for (var 
i in test_array) {
    var 
temp = [];
    var 
count 1;
    var 
checker "";
    for (var 
k in test_array[i]) {
        
temp.push(test_array[i][k]);
    }
    
temp.sort();
    for (var 
j in temp) {
        if (
checker == temp[j]) {
            
count++;
            if (
== 0) {
                
trace(checker+" ist "+count+" mal in test_array["+i+"] vorhanden.");
                
count 1;
            }
        } else if (
checker && count>1) {
            
trace(checker+" ist "+count+" mal in test_array["+i+"] vorhanden.");
            
count 1;
        }
        
checker temp[j];
    }

sort() kannst du in den Flashhilfe nachgucken. Sortiert halt einfach das Array...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 29-11-2006, 14:54   #8 (permalink)
new user
 
Benutzerbild von PinkDragon
 
Registriert seit: Oct 2005
Beiträge: 140
Schau mal hier: www.seibsprogrammladen.de/für selber Macher/Algorithmen/Array und dort ein Bischen runter scrollen.

mfg
PD

Geändert von PinkDragon (29-11-2006 um 14:58 Uhr)
PinkDragon ist offline   Mit Zitat antworten
Alt 29-11-2006, 16:00   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 287
danke für die antworten.

hab aber nach langem überlegen ne funktion zusammengebracht:

PHP-Code:
function checkHorizontal() {
    for (
k=0k<=4k++) {
        for (
i=0i<=4i++) {
            for (
j=0j<=4j++) {
                if ((
test_array[k][i] == test_array[k][j]) && (!= j)) {
                    
trace("Gefunden: "+test_array[k][i]);
                }
            }
        }
    }

was haltet ihr davon ?
~flasher ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 10:34 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele