[JS] Prosty program/drzewko decyzyjne


(zapomnialemstarynick) #1

Witam serdecznie

 

Dla praktyki, chcę napisać prosty skrypt, który działa w taki sposób: wyświetla się pytanie, np. Czy jest dziś ciepło? Użytkownik ma do wyboru tak/nie. Po kliknięciu na poszczególny button, przechodzi do kolejnego pytania, np. Czy jest dziś zimno. I znowu tak/nie.

 

Tak - wartość true

Nie - wartość false

 

Mam obiekt w postaci:

var clothes = {



  "Gloves": [true, true, true, true],



  "Coat": [true, true, true, true],



  "Warm socks": [true, true, true, true],



  "Scarf": [true, true, true, true],



  "T-shirt": [true, true, true, true],



  "Flip-flops": [true, true, true, true],



  "Sunglasses": [true, true, true, true],



  "Waterproof jacket": [true, true, true, true]



};







answerOne = ; //Is it hot?



answerTwo = ; //Is it cold?



answerThree = ; //Is it rainy?



answerFour = ; //Is it snowy?

 

 

Myślałem, nad stworzeniem oddzielnej tablicy, która zbierałaby odpowiedzi użytkownika, tj.:

var answers = [answerOne, answerTwo, answerThree, answerFour];

I stworzeniem funkcji, która porównywałaby tablicę stworzoną z odpowiedzi użytkownika z elementami z obiektu. I tu zaczyna się mój problem, nie wiem jak się zabrać za tę funkcję. 

 

Jeśli miałbyś jakiś pomysł, sugestię czy protip, proszę daj znać. Z góry bardzo dziękuję! :slight_smile:

 

 

Problem rozwiązany. Gdyby się ktoś interesował jak, to wklejam kod poniżej. Pozdrawiam!

 

var answers = [answerOne, answerTwo, answerThree, answerFour];



Object.keys(clothes).map(function(value, index) {



	if(clothes[value].every(function(v,i) { return v === answers[i]})) {



		console.log(value);



	}



  else {



    console.log("Something is wrong. Better stay at home...")



  }



});