Avatar billede dmg Nybegynder
16. oktober 2007 - 07:53 Der er 11 kommentarer og
1 løsning

Hjælp til array

Hej Experts,

Håber i kan hjælpe. Jeg har ik programmeret javascript et stykke tid og kan ikke lige fatte hvorfor det her ik virker?
Jeg har glemt hele det der array ting og prøver at fylde lidt data ind, men får fejl.
Foreløbigt tak for hjælpen.

<SCRIPT LANGUAGE="JavaScript">
if(product_var.length >= 1)
    {
        var sa_array=new Array();
        for(i = 0; i < product_var.length; i++)
        {
            sa_array[].sku = product_var[i].sku;
            sa_array[].name = "Stock Status";
            sa_array[].value = product_var[i].price_sale;
        }

    }
</script>
Avatar billede nielle Nybegynder
16. oktober 2007 - 08:00 #1
Sådan?

<script type="text/javascript">
if (product_var.length >= 1)
{
    var sa_array = new Array();
    for (i = 0; i < product_var.length; i++)
    {
        sa_array[i].sku = product_var[i].sku;
        sa_array[i].name = "Stock Status";
        sa_array[i].value = product_var[i].price_sale;
    }
}
</script>
Avatar billede dmg Nybegynder
16. oktober 2007 - 09:14 #2
Hej Nielle,

Det har jeg godt prøvet og jeg får fejl. Er det ik måden jeg loader mine data ind i arrayet på med sku, name, value?

Der er et array allerede på min side og nu vil jeg så tilføje disse data til arrayet.
Avatar billede erikjacobsen Ekspert
16. oktober 2007 - 09:16 #3
Hvad er din product_var for en dims?
Avatar billede dmg Nybegynder
16. oktober 2007 - 09:24 #4
Hej Erik,

Min product_var dims :) er et array som indeholder data som disse:
[0]
    [attr_value1] = "yg"
    [attr_value2] = "wg"
    [attr_value3] = 3221
    [attr_value4] = 32
[1]
    [attr_value1] = "yg"
    [attr_value2] = "wg"
    [attr_value3] = 323331
    [attr_value4] = 321
Avatar billede dmg Nybegynder
16. oktober 2007 - 09:26 #5
jeg vil så fra dette array indsætte i et andet array sa_array

[0]
    [name]
    [sku]
    [value]
[1]
    [name]
    [sku]
    [value]
Avatar billede dmg Nybegynder
16. oktober 2007 - 09:35 #6
dette er fejlen jeg får:

sa_array[i] has no properties
Avatar billede erikjacobsen Ekspert
16. oktober 2007 - 09:40 #7
Ok. Men dit array indeholder jo ikke "tomme objekter". Du skal nok noget i retning af:

    var sa_array = new Array();
    for (i = 0; i < product_var.length; i++)
    {
        sa_array[i] = new EtEllerAndet();
        sa_array[i].sku = product_var[i].sku;
        sa_array[i].name = "Stock Status";
        sa_array[i].value = product_var[i].price_sale;
    }
Avatar billede erikjacobsen Ekspert
16. oktober 2007 - 09:42 #8
Og så rent spørgsmålsteknisk. Det hjælper ikke meget, når du i spørgsmålet bare slynger ud "...men får fejl." Hvis du ved hvad fejlen er, så fortæl os det, li'som du så gør en halvanden times tid efter spørgsmålet. Tænk ikke på os "eksperter" - tænk på at du nok kan spare tid på den måde ;)
Avatar billede dmg Nybegynder
16. oktober 2007 - 09:49 #9
yes sorry bout that. Husker til en anden gang!

Kan jeg mon gøre sådan:

sa_array[i] = new name("Stock Status");
sa_array[i] = new sku(product_var[i].sku);
sa_array[i] = new value(product_var[i].price_sale);
Avatar billede dmg Nybegynder
16. oktober 2007 - 09:58 #10
så modtager jeg "name is not a constructor" fejl
Avatar billede erikjacobsen Ekspert
16. oktober 2007 - 13:54 #11
Har du lavet en Javascript-klasse med felter "sku", "name" og "value"?
Avatar billede dmg Nybegynder
18. oktober 2007 - 04:39 #12
yes. Jeg anvender et content management system og har lige fundet ud af man skal putte denne øverst så virker det.
sa_array[counter]=new searchable_attr_struct();

Så jeg lukker... Tak for jeres tid.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester