Skip to content
Snippets Groups Projects
Commit f954ae78 authored by sacha's avatar sacha
Browse files

récuperation des acteurs et styles preférés de use

parent c1b63f0d
No related branches found
No related tags found
No related merge requests found
...@@ -44,6 +44,14 @@ function recommendationForUser(user_login) { ...@@ -44,6 +44,14 @@ function recommendationForUser(user_login) {
for (let i = 0; i < authors.length; i++) { for (let i = 0; i < authors.length; i++) {
fav_authors = authors[i][0]; //recuperer seulement l'auteur, pas le reste fav_authors = authors[i][0]; //recuperer seulement l'auteur, pas le reste
} }
let actors = getAllElements(seen, getActors).slice(0,3);
for (let i = 0; i < actors.length; i++) {
fav_actors = actors[i][0]; //recuperer seulement l'acteur, pas le reste
}
let styles = getAllElements(seen, getStyles).slice(0,3);
for (let i = 0; i < styles.length; i++) {
fav_styles = styles[i][0]; //recuperer seulement le style, pas le reste
}
...@@ -78,10 +86,9 @@ function comparerLignes(a, b) { ...@@ -78,10 +86,9 @@ function comparerLignes(a, b) {
* renvoie une liste d'auteurs, avec leur nombre d'apparition dans la liste des films vus par un utilisateur, puis leur note moyenne * renvoie une liste d'auteurs, avec leur nombre d'apparition dans la liste des films vus par un utilisateur, puis leur note moyenne
* *
* @param {Movie[]} movies - Liste de film vus par un utilisateur. * @param {Movie[]} movies - Liste de film vus par un utilisateur.
* @param {string(Movie)} recupElement - Fonction qui recupere un element d'un film (pour generaliser allAutors à allElement).
* @returns {[[string, Number, Number]]} - La liste des auteurs. * @returns {[[string, Number, Number]]} - La liste des auteurs.
*/ */
function getAllAuthors(movies, recupElement){ function getAllAuthors(movies){
let authors = [[]]; let authors = [[]];
//premier indice = couple auteur/nombre d'apparition/moyenne notes films, 2e indice: 0 auteur, 1 nbr apparition, 2 mpyenne films //premier indice = couple auteur/nombre d'apparition/moyenne notes films, 2e indice: 0 auteur, 1 nbr apparition, 2 mpyenne films
for (let i = 0; i < seen.length; i++) { for (let i = 0; i < seen.length; i++) {
...@@ -107,10 +114,46 @@ function getAllAuthors(movies, recupElement){ ...@@ -107,10 +114,46 @@ function getAllAuthors(movies, recupElement){
return authors; return authors;
} }
function getAuthor(movie){ /**
return movie.author; * renvoie une liste d'acteurs/styles, avec leur nombre d'apparition dans la liste des films vus par un utilisateur, puis leur note moyenne
*
* @param {Movie[]} movies - Liste de film vus par un utilisateur.
* @param {string(Movie)} recupElement - Fonction qui recupere un element d'un film (pour generaliser à allElement) (acteurs ou styles).
* @returns {[[string, Number, Number]]} - La liste des auteurs.
*/
function getAllElement(movies, recupElement){
let elements = [[]];
//premier indice = couple element/nombre d'apparition/moyenne notes films, 2e indice: 0 auteur, 1 nbr apparition, 2 mpyenne films
for (let i = 0; i < seen.length; i++) {
let j = 0;
let found = false;
temp_elements = recupElement(seen[i]);
for (let h = 0; h < temp_elements.length; h++) {
while(j < elements.length && !found){
if (elements[j][0] == recupElement(temp_elements[h])) {
found = true;
elements[j][1] += 1;
elements[j][2] += temp_elements[h].note;
}
j++;
}
if(!found){
elements.append([recupElement(temp_elements[h]), 1, temp_elements[h].note]);
}
}
}
for (let i = 0; i < elements.length; i++) {
elements[i][2] /= elements[i][1];
}
elements.sort(comparerLignes);
return elements;
} }
/*function getAuthor(movie){
return movie.author;
}*/
function getActors(movie){ function getActors(movie){
return movie.actors; return movie.actors;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment