Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <script>
- "use strict"
- /**
- * Attention, respectez les consignes et interdiction d'utiliser des librairies de type JQuery / Angular
- **/
- /**
- * Complétez les fonctions suivantes
- **/
- /**
- Somme de tout les éléments du tableau (en float)
- Attention, les chaines doivent être converties, traiter "4" comme 4.
- **/
- function sommeTotal() {
- var tableau = ["1", 15, "9", 23.99, 9, "4.665", 151, 78, 9, "63", 41.22, 47, "22", 12, "63"];
- var somme = 0;
- for (let i = 0; i < tableau.length; i++) {
- somme += parseFloat(tableau[i]);
- }
- console.log("sommeTotal : " + somme);
- }
- /**
- Somme de tout les éléments pairs du tableau2.
- Attention, les chaines doivent être converties, traiter "4" comme 4.
- **/
- function sommePair(){
- var tableau = ["1", 15, "9", 23, 9, "4", 151, 78, 9, "63", 41, 47, "22", 12, "63"];
- var number = 0;
- for (let i = 0; i < tableau.length; i++) {
- if (tableau[i] % 2 == 0)
- number += parseInt(tableau[i]);
- }
- console.log("sommePair : "+number);
- }
- /**
- Element qui apparait le plus de fois et son nombre d'occurence.
- Attention, les chaines doivent être converties, traiter "4" comme 4.
- Résultat attendu : element 9 , 4 fois
- **/
- function occurenceElement(){
- var tableau = ["1", 15, "9", 23, 9, "4", 151, 78, 9, "63", 41, 47, "22", 12, 9, "63"];
- var element = 0;
- var occurence = 0;
- let list = {};
- tableau.forEach(elem => {
- if (list[elem])
- list[elem]++;
- else
- list[elem] = 1;
- if (occurence < list[elem]) {
- occurence = list[elem];
- element = elem;
- }
- });
- console.log("occurenceElement "+element+" "+occurence);
- }
- /**
- * Corriger le code entre // debut mofication et // fin modification de manière à ce que la fonction onclick de chaque element du tableau retourne son index
- * Actuellement 3 est renvoyé à chaque fois.
- * Résultat attendu : tableau[0].onclick() doit renvoyer 0, tableau[1].onclick() doit renvoyer , ...
- * Attention, ne pas "dépiler" le for : (tableau[0].onclick = function(e){return 0}; tableau[1].onclick = function(e){return 1;})
- * Attention, ne pas modifier du code autrepart qu'entre // debut mofication et // fin modification
- * Tips : Voir les autres operateur de loop sur les array (do while, foreach, while, each, ...)
- **/
- function recordFunction()
- {
- var tableau = [{},{}, {}];
- // Debut modification
- tableau.forEach((elem, index) => elem.onclick = () => index);
- /**
- Autre méthode :
- for(let i = 0; i < tableau.length; i++)
- {
- tableau[i].onclick = function() { return i }
- }
- **/
- // fin modification
- // display, ne pas modifier
- /**
- * J'ai ici modifié la var i en une autre variable j car étant réasignée à 0
- * puis incrémentée le resultat semblait être celui attendu sans modification nécessaire
- **/
- for(var j = 0; j < tableau.length; j++)
- {
- console.log("recordFunction "+j+" : "+tableau[j].onclick());
- }
- }
- /**
- Somme de tout les élément de l'objet JSON
- Résultat attendu == 62
- **/
- function sommeObj()
- {
- var obj = {
- "field1": {
- "a":3,
- "b":4,
- "c":5,
- "d":[1,2,3,4]
- },
- "field2": {
- "f":[1,2,3,4],
- "b":4,
- "c":5,
- "a":[1,2,3,4]
- },
- "field3": [1,2,3,5]
- };
- var somme = 0;
- const addArrayValues = array => array.reduce((accu, value) => accu + value, 0);
- const browseObject = object => {
- for (let key in object) {
- if (object[key].constructor === Array)
- somme += addArrayValues(object[key]);
- else if (typeof object[key] == 'number')
- somme += object[key];
- else if (typeof object[key] == 'object')
- browseObject(object[key]);
- }
- }
- browseObject(obj);
- console.log("sommeObj "+somme);
- }
- /**
- remplacer toutes les occurences de "aaa" par "bbb" dans la chaine str1 avec une regex
- **/
- function stringReplace()
- {
- var str1 = "aaa lorem ipaaasum esaaa de laaa naaa";
- var replace = "";
- replace = str1.replace(/aaa/g, "bbb");
- console.log("stringReplace "+replace);
- }
- /**
- Merger les tableaux t1, t2, t3 dans un tableau puis affecter la fonction f a chaque element du nouveau tableau.
- ATTENTION : Interdiction de déclarer de nouvelles variables !
- Tips : Array.concat, map, ...
- **/
- function mergeArray()
- {
- var t1 = [1,2,3,4,5,6,7,8,9,10];
- var t2 = [1,2,3,4,5,6];
- var t3 = [1,2,3,4,5,6,7,8];
- var f = function(e)
- {
- return e * 10;
- };
- t1 = t1.concat(t2, t3).map(elem => f(elem));
- console.log("mergeArray ");
- console.log(t1);
- }
- /**
- Meme consigne que sommeTotal mais sans déclarer de nouvelles variables ni utiliser de for/while/forEach/do while
- Bonus: réaliser cette fonction en une ligne
- **/
- function sommeTotal2(){
- var tableau = ["1", 15, "9", 23.99, 9, "4.665", 151, 78, 9, "63", 41.22, 47, "22", 12, "63"];
- var somme = 0;
- somme = tableau.reduce((accu, num) => accu + parseFloat(num), 0);
- console.log("sommeTotal2 : "+somme);
- }
- /**
- Meme consigne que sommePair mais sans déclarer de nouvelles variables ni utiliser de for/while/forEach/do while
- Bonus: réaliser cette fonction en une ligne
- **/
- function sommePair2(){
- var tableau = ["1", 15, "9", 23, 9, "4", 151, 78, 9, "63", 41, 47, "22", 12, "63"];
- var number = 0;
- number = tableau.filter(num => num % 2 == 0).reduce((accu, num) => accu + parseInt(num), 0);
- console.log("sommePair2 : "+number);
- }
- sommeTotal();
- sommePair();
- occurenceElement();
- recordFunction();
- sommeObj();
- stringReplace();
- mergeArray();
- sommeTotal2();
- sommePair2();
- </script>
- </head>
- <body>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment