Thursday, July 29th 2010, 1:41pm UTC+2

You are not logged in.

  • Login
  • Register

1

Tuesday, July 18th 2006, 3:31pm

Löschen von Duplikaten in einem Array

Hallo Leute,

hier eine Funktion mit der ihr doppelte Einträge aus einem Array löschen könnt.

ActionScript-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
 * @brief Deletes duplicates of an array
 *
 * @return array Returns an array without same values
 */
function deleteDuplicates(Data:Array):Array
{
    var step:Number = (Data.length-1);
    var array_length:Number Data.length;
    var position:Number null;
    var count:Number null;
    var search_data:String null;
    
    while(step >= 0)
    {
        // Stores the current array index
        position 0;
        // Stores the count of same values
        count 0;
        // Stores the search value
        search_data String(Data[step]);
        
        while(position array_length)
        {
            if(search_data == Data[position])
                if(count 0)
                    Data.splice(position1);
                else
                    count++;

            position++;
        }

        step--;
    }
    
    return(Data);
}

trace(deleteDuplicates(Array(1010"hallo""hallo2""hallo")));


Viel Spaß! :)
Greetz Andi

Mod Dewey

CREAKTIF - Comes soon

Google ist dein Freund :D
  • Go to the top of the page

kelor

Super Moderator

Posts: 3,408

Location: formel1-stadt hockenheim

2

Tuesday, July 18th 2006, 9:19pm

hehe...da hab ich auch einen..;)
und sauschnell dazu...;):D


ActionScript-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
myA = [1,7,3,6,4,8,5,4,1,9,6,11];

function spliceArr(arr){
         var i=-1; var ln arr.length;
         while((++i<ln)){
               var j=i+1;
               do{ arr[j]==arr[i]?arr.splice(j,1):null;
               }while(j++<ln-1)
         }
         return arr;

}


trace(spliceArr(myA));




;););)



:D

greetz

kelor
[ActionScript-Trainer] [Referent ActionScript] [Buchautor]
[Online/Offline Flash_Applications & Developer]
  • Go to the top of the page

marcel_at_work

Intermediate

Posts: 205

Location: ... München

3

Monday, April 13th 2009, 12:26am

Das Script vom Kelor hat irgendwie ne Macke. Ich hab jetzt fast zwei Stunden daran rumgebastelt, aber es bleibt imma das gleiche Ergebnis: Ab mehr als zwei gleichen Elementen von einer Art schafft es die Funktion einfach ned mehr. :(
"The electronic Side of Life": www.studioworxxx.de
"Flash based Designs": www.particlesystems.de
  • Go to the top of the page

RustyCake

Super Moderator

Posts: 829

Location: Laimbach 6 1/2

4

Tuesday, April 14th 2009, 12:48am

mußt auch zeigen was de probiert hast!
Liebe Grüße, das_RustyCake :D

"Wer tanzen will, muß erst gehen lernen"
as2 demos | foggybay.de*...*Deeplink-Demo mit Bookmarks von verschachtelten MovieClips
  • Go to the top of the page

marcel_at_work

Intermediate

Posts: 205

Location: ... München

5

Tuesday, April 14th 2009, 10:13pm

Warum denn DAS, mein Freundchen?!?? Bleibt mein Geheimnis! ... ääätsch :)

Nein, Schbassss...

Was soll ich denn da posten? Eben ALLES mögliche, was mir in den Sinn kam. Anfänglich hab´ich Kelor´s Script genommen und (da ich eine solche Funktion brauchte) einfach mal 10 x 10 gleiche Elemente eingesetzt - das Ergebnis war damit dann stets dasselbe: mind. jeweils 3 Elemente von einer Art bleiben übrig. Ich wollte es auch nicht glauben, da ich den Code selbst duplizieren kann und verstehe, und es eigentlich gar keinen Sinn macht?! ?( :)

GlG, Marci
"The electronic Side of Life": www.studioworxxx.de
"Flash based Designs": www.particlesystems.de

This post has been edited 1 times, last edit by "marcel_at_work" (Apr 26th 2009, 12:29am)

  • Go to the top of the page

Captain_S

Beginner

Posts: 19

Location: Berlin

6

Thursday, February 18th 2010, 10:46am

So, das alte Teil mal wieder hervorgekramt ;)

Der Fehler tritt auf, weil das Array verkürzt wird, aber der Zähler "j" nicht um 1 vermindert wird. Es wird also immer wieder ein Element aus dem Array übersprungen.

ActionScript-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
myA = [1,1,1,1,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,3];

function spliceArr(arr):Array{
    var i:Number = -1;
    var ln:Number arr.length;
    while((++i<ln)){
        var j:Number i+1;
        do{ 
            if(arr[j]==arr[i])
            {
                arr.splice(j,1);
                ln--;
                j--;
            }
        }
        while(j++<ln-1)
     }
     return arr;
}
trace(spliceArr(myA));


CS
  • Go to the top of the page

7

Thursday, February 25th 2010, 12:00am

Danke für deinen Beitrag Captain_S ;)
Greetz Andi

Mod Dewey

CREAKTIF - Comes soon

Google ist dein Freund :D
  • Go to the top of the page