• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wybieranie tablic

Object Storage Arubacloud
0 głosów
158 wizyt
pytanie zadane 24 marca w JavaScript przez Infos Użytkownik (650 p.)

Witam cza da się zrobić system wybierania tablic np że jedna tablica ma nazwe psychic a druga fire i wypisywania tego .ps wiem że tablice te są pewnie złe ale za bardzo nie umiem w tablice mam taki kod .

const = psychic ;
pokemon[1] ="Espurr";
pokemon[2] ="meowstic";
pokemon[3] ="abra";
pokemon[4] ="kadabra";
pokemon[5] ="alakazam";

function wypisz()
{
    const numerpokemona = documentGetElementById("numer").value
    
    if(numerpokemona)
                                                                      
    
    
}

<!DOCTYPE html>

<html>
<head>
  
  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=UTF-8">
  <title>STATY </title>
  <link rel="stylesheet" href="STYLESTAT.css" type="text/css">
  <script src="aray.js" ></script>
</head>
<body>  
  
  <div id="strona">
  
     <div id="indexdex">
    
       <input type="text" id="typ"   > TYP POKEMONA 
       <br>
       </br> 
       <input type="text" id="numer" > NUMER POKEMONA
    <br>
    </br>
       <input type="submit" value="to?" onclick="wypisz">
       
       
    
     </div>
  
  </div>
  
</body>
</html>
body
{
  background-color: grey;
}

#strona
{
  height: 1500px;
  width: 900px;
  margin-right: auto;
  margin-left: auto;
  background-color: gray;
  padding: 30px;
}

#indexdex
{
  padding-left: 250px;
  font-size: 35px;
  
}

input 
{
  width: 300px;
  height: 35px;
  font-size: 35px;
  
}

 

komentarz 24 marca przez adrian17 Ekspert (345,160 p.)

Nie rozumiem pytania zbytnio. Chcesz dwie tablice, i co z nimi dalej?

let psychic = ["mew", ...];
let fire = ["charmander", ...];

 

komentarz 24 marca przez Infos Użytkownik (650 p.)
Chciem żeby jeżeli wpisze psychic i numer 4 to z tablicy psychic był wybierany numer 4 a potem wypisać to
komentarz 24 marca przez adrian17 Ekspert (345,160 p.)

OK, to wsadź je np do obiektu?

let pokemon = {
    psychic: [...],
    fire: [...],
}
console.log(pokemon["fire"][5])

 

komentarz 24 marca przez Infos Użytkownik (650 p.)
Rozumiem dzięki.tylko nadal trochę nie rozumiem tablic i nie wiem jak za bardzo to wypisywać
komentarz 24 marca przez Infos Użytkownik (650 p.)
Czy moze to console.lag to robi?
komentarz 24 marca przez Infos Użytkownik (650 p.)

@adrian17, i czy ["mew" ,"espurr"] wtedy to automatycznie jest numer 1 i 2? 

komentarz 24 marca przez adrian17 Ekspert (345,160 p.)
console.log() tylko wypisuje rzeczy na konsoli.

Tak, ["x", "y", "z"] to tablica z trzema elementami. Tablice indeksuje się od 0, nie od 1.
komentarz 24 marca przez Infos Użytkownik (650 p.)
Wiem.i ok .ale wyjaśnisz mi jak z tablicy wypisać ?
komentarz 24 marca przez Infos Użytkownik (650 p.)

@adrian17, dzięki już wiem wszystko 

1 odpowiedź

0 głosów
odpowiedź 24 marca przez VBService Ekspert (254,440 p.)

Spróbuj z <select> dla typu <input type="number"> dla numeru

[ pełny kod przykładu on-line ]

<div class="container">
  <select id="typ">
    <option value="" selected disabled>TYP POKEMONA</option>
    <option value="psychic">psychic</option>
    <option value="fire">fire</option>
  </select>

  <input type="number" id="numer" min="1" value="1">
  <label for="numer">NUMER POKEMONA</label>      

  <button onclick="wypisz()">TO?</button>

  <div id="display"></div>
</div>
const pokemon = {
  psychic: [ null, 'espurr', 'meowstic', 'abra', 'kadabra', 'alakazam' ],
  fire: [ null, 'charizard', 'flareon', 'emboar', 'infernape' ]
}

function wypisz()
{
  const typ = document.querySelector('#typ').value;
  const numer = parseInt(document.querySelector('#numer').value);
  const display = document.querySelector('#display');

  let message = '';
  try {
    if (typeof pokemon[typ] === 'undefined') {
      throw new Error('Wybierz typ Pokémona');
    }

    if (isNaN(numer) || numer < 1 || numer >= pokemon[typ].length) {
      throw new Error('Podaj prawidłowy numer pokemona');
    }
    message = `${typ}[${numer}]: ${pokemon[typ][numer]}`;
  } catch(err) {
    message = err.message;
    console.warn(err.message);    
  } finally {
    display.textContent = `${message}.`;
  }  
}

 

Tablice indeksuje się od 0, nie od 1.

możesz użyć np. takiego triku, żeby pominąć indeks 0.

const pokemon = {
  psychic: [ null, 'espurr', 'meowstic', 'abra', 'kadabra', 'alakazam' ],
  fire: [ null, 'charizard', 'flareon', 'emboar', 'infernape' ]
}

 

komentarz 24 marca przez adrian17 Ekspert (345,160 p.)

możesz użyć np. takiego triku, żeby pominąć indeks 0.

...ale czemu? To wygląda jak mega dziwny wymyślony na szybko hack (który łatwo prowadzi do błędów później), a zazwyczaj ludzie po prostu dodają/odejmują 1 jeśli chcą pokazać inną liczbę userowi.

komentarz 24 marca przez VBService Ekspert (254,440 p.)
edycja 24 marca przez VBService

Widziałem to na jakimś kursie z C#, ale już nie pamiętam gdzie więc nie podam źródła, zauważyłem, że działa też w js-ie. wink

dlatego napisałem

możesz użyć np. takiego triku

komentarz 24 marca przez VBService Ekspert (254,440 p.)

Kolega @Infos; np. w ramach ćwiczenia może poprawić kod, aby działał z tablicą angel

const pokemon = {
  psychic: [ 'espurr', 'meowstic', 'abra', 'kadabra', 'alakazam' ],
     fire: [ 'charizard', 'flareon', 'emboar', 'infernape' ]
}

 

1
komentarz 25 marca przez Infos Użytkownik (650 p.)
Każdemu dziękuję

Podobne pytania

0 głosów
2 odpowiedzi 421 wizyt
pytanie zadane 31 lipca 2019 w JavaScript przez michal_php Stary wyjadacz (13,700 p.)
0 głosów
2 odpowiedzi 245 wizyt
pytanie zadane 14 września 2015 w JavaScript przez makoso Mądrala (7,380 p.)
+1 głos
1 odpowiedź 118 wizyt

92,624 zapytań

141,482 odpowiedzi

319,822 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...