Sprawdzanie danych w wygenerowanej tablicy

0

W jaki sposób mogę się odwołać do green, red,blue , że np. jeżeli jest to robię console.loga że jest ? screenshot-20190615191750.png

0

Nie wiem czy to przez to ,że robię to w vue.

if (this.divColor.includes("green")) {
        console.log("jest");
      } else {
        console.log("nie ma");
      }

screenshot-20190615195509.png

0

this.divColor[0].includes('green"), biorąc pod uwagę podany przez Ciebie przykład - przy czym zaczyna to wyglądać podejrzanie. Co próbujesz osiągnąć?

0

Robię coś ala jednorękiego bandytę i chcę teraz ogarnąć mechanikę wyników i zrobić , że np. jak jest 3x green to dajmy na to jak na razie consol.loga niech wyrzuca.Chyba ,że to w pętli zrobić i np. this.divColor[i].includes()

0

Zatem dlaczego masz tablicę tablic (tablicę dwuwymiarową)? Zdaje się, że w divColors powinieneś mieć od razu tablicę trzech stringów (zawierającą wylosowane symbole / kolory).

0

Tablicę generuję w ten sposób, ogólnie to sprawdzając każdy element pykło.

methods: {
    randomColors() {
      const colors = [];
      for (let i = 0; i < this.options.length; i++) {
        const colorIndex = Math.floor(Math.random() * this.options.length);
        const color = this.options[colorIndex];
        colors.push(color);
      }
      this.divColor.push(colors);
      console.log(this.divColor);
      for (let i = 0; i < this.divColor.length; i++) {
        if (this.divColor[i].includes("green")) {
          console.log("jest");
        } else {
          console.log("nie ma");
        }
      }
    }
  }
0

Chwila, chwila - powoli; co konkretnie ma reprezentować divColor?

0

Są tam zapisywane kolory wygenerowane z pierwszej pętli

0

Pokazałeś kod, widzę co się dzieje - nie rozumiem jednak Twojej intencji / założenia ;-)

Dlaczego divColor nie jest po prostu np. ['green', 'green', 'red'], tylko jest tablicą dwuwymiarową?

0

Na początku miałem jednowymiarową jak zrobiłem w ten sposób

this.divColor.push(color);
zamiast 
colors.push(color);

ale wtedy mi się źle renederowały divy za pomocą dyrektywy v-for i nie wiedziałem jak się z tym uporać więc tak zostawiłem

<div v-for="(container,index) in divColor" :key="index" class="app-bandit__colors">
      <div
        v-for="(divs,index) in container"
        :key="index"
        class="app-bandit__color"
        v-bind:style="[{backgroundColor: divs},{color: divs}]"
      >{{divs}}</div>
    </div>
2

Dlaczego nie może być po prostu tak?

<div v-for="(color, index) in divColor"
     :key="index"
     class="app-bandit__color"
     v-bind:style="[{ backgroundColor: color }, { color }]">
    {{ color }}
</div>
0

Jeżeli ci chodzi o to żeby tylko dać v-for na app-bandit__color bez v-for na app-bandit__colors to dlatego że wtedy generuje mi się po jednym divie zamiast 3 na raz .

0

Czekaj czekaj zrobiłem jednego v-fora jak mówiłeś i dałem this.divColor.push(color) i renderuje się tablica jednowymiarowa z 3 divami

1 użytkowników online, w tym zalogowanych: 0, gości: 1