---
title: "Problem med loop"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/143353-problem-med-loop"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "stattin"
published: "2006-03-03T19:37:26.000Z"
updated: "2006-03-04T10:08:00.000Z"
replies: 6
views: 390
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/143353-problem-med-loop"
---

# Problem med loop

## #1 — stattin, 2006-03-03T19:37Z

Hej!

Egentligen funkar det som det ska men..

```

for (i=0;i<50;i++)
{for (nr=315;nr<501;nr++)
{if(document.images[i].src.indexOf("/"+nr+".JPG") != -1)
{ break; }}
if(document.images[i].src.indexOf("/"+nr+".JPG") != -1)
{var s=nr; break; }}
```

Jag borde ju inte behöva köra if satsen två gånger men det var det ända sättet jag fick till det på.

Permalänk: https://www.webforum.nu/p/143353

## #2 — nitro2k01, 2006-03-03T19:58Z

```
for (i=0;i<50;i++){
  for (nr=315;nr<501;nr++){
    if(document.images[i].src.indexOf("/"+nr+".JPG") != -1){
      break;
    }
  }
  if(document.images[i].src.indexOf("/"+nr+".JPG") != -1){
    var s=nr;
    break;
  }
}
```

Lite tabulering hjälper till att klara upp situationen... 
Den andra if-satsen får det värde som blir över efter for-loopen, 501 i detta fall. Så nr är alltid 501 när den andra if-satsen körs. Är det så du vill att ska vara?

Permalänk: https://www.webforum.nu/p/1776706

## #3 — stattin, 2006-03-03T20:08Z

Alting fungerar som jag vill, det enda jag undrar över är varför man måste ha två if satser som gör samma sak två gånger, kan man inte ta bort en?

Permalänk: https://www.webforum.nu/p/1776710

## #4 — Peter S, 2006-03-03T20:57Z

Semantiskt är det inte korrekt, eftersom du definierar en lokal variabel i if-satsen utan att använda den (möjligtvis försöker du använda 's' utanför loopen, men det är inte riktigt).

```
var s = 0;
for (i=0;i<50;i++){
  for (nr=315;nr<=501;nr++){ [b]// '<='[/b]
    if(document.images[i].src.indexOf("/"+nr+".JPG") != -1){
      s = nr;
      break;
    }
  } 
}

if (s != 0){
  // använd 's'
}
```

Permalänk: https://www.webforum.nu/p/1776727

## #5 — stattin, 2006-03-03T21:42Z

Njaa.. document.images\[\].src = null eller inget objekt står det då bara när jag provkör peters variant.

Har för mig att stötte på det problemet förut och enda lösningen vart två if satser.

Permalänk: https://www.webforum.nu/p/1776745

## #6 — Peter S, 2006-03-03T22:39Z

Då har du färre än 50 bilder på sidan. Istället för '50' nedan kan du använda document.images.length.

```
var s = 0;
outer:
for (i=0;i<document.images.length;i++){
  for (nr=315;nr<=501;nr++){ // '<='
    if(document.images[i].src.indexOf("/"+nr+".JPG") != -1){
      s = nr;
      break outer;
    }
  } 
}
```

Permalänk: https://www.webforum.nu/p/1776770

## #7 — stattin, 2006-03-04T10:08Z

Att jag inte tänkte på det.. jag skrev 50 bara för att garantera att få med alla bilder.

Då har man lärt sig vågot nytt, tack så mycket..   :bire

Permalänk: https://www.webforum.nu/p/1776829

---

Tråden på webben: https://www.webforum.nu/amne/javascript/143353-problem-med-loop
