Prova först att stava rätt på length, och se om du får något fel då.
nybörjare i javascript
51 svar · 3 252 visningar · startad av Vinnaren · sida 2 av 3
haha, oj :r men det hjälpte inte får samma meddelande :S
Det här:
var myArray = new Array(6);
myArray[10, 14, 16, 17, 24, 11, 22];
är inte helt vettigt ;) Först gör du en array med sex element - vilket är helt OK - men sen försöker du indexera den med sju index på samma gång, vilket inte går. Skriv:
var myArray = [10, 14, 16, 17, 24, 11, 22];
så får du en array med elementen 10, 14, 16, 17, 24, 11 och 22. Sen kan du skicka iväg den arrayen till din funktion.
ok, men då får jag felmeddelandet:
Fel: missing ; before statement
Rad: 14, kolumn: 13
Källkod:var myArray[10, 14, 16, 17, 24, 11, 22];
du har inte med = mellan myArray och [
ok, då får jag tillbaka felet "NaN". måste vara något mer som e galet :OO
Hur ser alltså koden ut nu?
i HTML filen:
<script language="JavaScript" type="text/javascript">
<!--
var myArray = [10, 14, 16, 17, 24, 11, 22];
testar(myArray);
//-->
</script>
i js filen
function testar(myArray)
{
var summa;
var medeltal;
for (i=0; i < myArray.length; ++i)
{
summa += myArray[i];
}
medeltal = summa / myArray.length;
document.write(medeltal);
}
tack, det funkar :bire
har nu gjort en ny array (newArray) som retunerar medeltalet, största talet samt minsta talet tillbaka till html sidan, men hur löser man det så det skrivs ut på sidan?? vill inte anv document.write i js filen utan i html filen.
hmm. ok, men problemet är själva överföringen från js filen. Har anv följande
var newArray = [medeltal, storsta, minsta];
return newArray;
men hur får man över newArray till html sidan? har provat att anropa funktionens namn, men då krokar det med myArray som jag skickar till js filen.
du får tillbaka en array av fin funktion. för att plocka ut ett värde ur den arrayn kan du skrive myArray[0] för att få första värdet, myArray[1], myArray[2] för de andra.
hmm, får det inte att fungera.
<script language="JavaScript" type="text/javascript">
<!--
var myArray = [1, 14, 16, 17, 28, 11, 22];
testar(myArray);
document.write(newArray[0]);
document.write(newArray[1]);
document.write(newArray[2]);
//-->
</script>
får felmeddelandet:
Fel: newArray is not defined
Rad: 18
Du får bestämma dig för myArray eller newArray.
om du ska returnera något från funktionen kan det ju vara bra att ta emot det också.
...
newArray = testar(myArray);
...
hmm, nu hänger jag nog inte med.
all kod jag har:
i JS filen:
function testar(myArray)
{
var summa =0;
var medeltal;
var minsta;
var storsta;
for (i=0; i < myArray.length; ++i)
{
summa += myArray[i];
}
myArray.sort();
storsta = myArray[(myArray.length -1)];
minsta = myArray[0];
medeltal = summa / myArray.length;
var newArray = [medeltal, storsta, minsta];
return newArray;
}
i HTML filen
<script language="JavaScript" type="text/javascript">
<!--
var myArray = [1, 14, 16, 17, 28, 11, 22];
testar(myArray);
document.write(newArray[0]);
document.write(newArray[1]);
document.write(newArray[2]);
//-->
</script>
det är alltså var newArray = [medeltal, storsta, minsta]; som ska skrivas ut på html sidan. myArray skickar till js filen medans newArray skickar tillbaka svaren till html filen (ska göra iaf)
det stämmer att du skicka tillbaka värdet i newArray i funktionen men variablen är bara deklarerad i funktionen och går inte att använda utanför.
du måste alltså ta emot det som skickas tillbaka av din funktion.
var newArray = testar(myArray);
tack, nu funkar det :bire
Hade nu tänkt att lägga till en ny sak på sidan.
Jag har en string (myStr) som jag skickar till js filen. i js filen ska alla stora bokstäver bli små, och de små bli stora. Hur löser man det enklast?
har börjat lite men vet inte om jag e på rätt spår.
function omvandla(myStr)
{
var Omvandlat;
for (i = 0; i < myStr.length; i++)
{
Omvandlat += myStr.charAt(i);
}
}
testa att söka lite på google efter "javascript islowercase" så hittar du en del exempel på hur man kan lösa det.
gör det och försök få ihop något så kan vi hjälpa till mer sen.
/r är det en massa uppgifter du gör?