Chaines
Exemple :
Dans le dossier 3-fonctions :
Ajoutez le fichier 2-chaines.html
1
2
<html lang="fr">
3
<head>
4
<title>JS Fonctions Chaines</title>
5
<meta charset="utf-8" />
6
<meta name="viewport" content="width=device-width, initial-scale=1" />
7
<link
8
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"
9
rel="stylesheet"
10
integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx"
11
crossorigin="anonymous"
12
/>
13
<style> main > div {background-color: #c5c5c5;}</style>
14
</head>
15
<body>
16
<header class="p-2 bg-secondary text-light bg-gradient">
17
<section>
18
<h2>JS - Fonctions Chaines</h2>
19
</section>
20
</header>
21
22
<main>
23
<div class="m-3 p-3 row">
24
<p>Remplir les variables</p>
25
<div class="col-3 input-group mb-3">
26
<span class="input-group-text">Tableau de mots</span>
27
<input type="text" id="tableau" class="form-control"/>
28
</div>
29
<div class="col input-group mb-3">
30
<span class="input-group-text">Nombre1</span>
31
<input type="text" id="nombre1" class="form-control"/>
32
</div>
33
<div class="col input-group mb-3">
34
<span class="input-group-text">Nombre2</span>
35
<input type="text" id="nombre2" class="form-control"/>
36
</div>
37
<div class="col-auto">
38
<button type="submit" onclick="exercice()" class="btn btn-primary">Soumettre</button>
39
</div>
40
</div>
41
42
<div class="m-3 p-3 row">
43
<p>Affiche la somme des tailles des mots</p>
44
45
<div class="col">
46
<input type="text" id="sommeTailles" class="form-control" readonly/>
47
</div>
48
</div>
49
50
<div class="m-3 p-3 row">
51
<p>Affiche le plus long mot</p>
52
53
<div class="col">
54
<input type="text" id="plusLong" class="form-control" readonly/>
55
</div>
56
</div>
57
58
<div class="m-3 p-3 row">
59
<p>Affiche l'emplacement du plus court</p>
60
<div class="col input-group mb-3">
61
<input type="text" id="plusCourt" class="form-control" readonly/>
62
</div>
63
</div>
64
65
<div class="m-3 p-3 row">
66
<p>Affiche les mots plus longs que nombre1 caractères</p>
67
<div class="col input-group mb-3">
68
<input type="text" id="plusLongNb" class="form-control" readonly>
69
</div>
70
</div>
71
72
<div class="m-3 p-3 row">
73
<p>Echange l'emplacement des mots nombre1 et nombre2, et affiche le tableau</p>
74
<div class="col input-group mb-3">
75
<input type="text" id="echangeTab" class="form-control" readonly/>
76
</div>
77
</div>
78
79
</main>
80
81
<footer>
82
<nav class="navbar navbar-expand-lg navbar-light bg-secondary bg-gradient">
83
<ul class="navbar-nav mr-auto mb-2 mb-lg-0">
84
<li class="nav-item">
85
<a class="nav-link" href="https://www.univ-littoral.fr/">ULCO</a>
86
</li>
87
<li class="nav-item">
88
<a class="nav-link" href="https://fcu.univ-littoral.fr/">FCU</a>
89
</li>
90
<li class="nav-item">
91
<a class="nav-link" href="https://deust-bcmm.univ-littoral.fr/">W2D</a>
92
</li>
93
</ul>
94
</nav>
95
</footer>
96
97
<script src="js/2-chaines.js"></script>
98
</body>
99
</html>
Dans le dossier js ajoutez le fichier 2-chaines.js
1
// retourne la somme des tailles des mots
2
// sommeTailles(["exemples", "avec", "plusieurs", "mots"]) => 25
3
const sommeTailles = function (){
4
return "";
5
};
6
7
// retourne le plus long mot
8
// plusLong(["exemples", "avec", "plusieurs", "mots"]) => "plusieurs"
9
const plusLong = function (){
10
return "";
11
};
12
13
// retourne l'emplacement du plus court
14
// plusCourt(["exemples", "avec", "plusieurs", "mots"]) => 1
15
const plusCourt = function (){
16
return "";
17
};
18
19
// retourne les mots plus longs que nb caractères
20
// plusLongNb(["exemples", "avec", "plusieurs", "mots"], 5) => 2
21
const plusLongNb = function (){
22
return "";
23
};
24
25
// retourne le tableau avec les emplacements des mots nb1 et nb2 échangés
26
// echangeTab (["exemples", "avec", "plusieurs", "mots"], 0, 2) => ["plusieurs", "avec", "exemples", "mots"]
27
const echangeTab = function (){
28
return "";
29
};
30
31
/**
32
* Lancement des fonctions
33
*/
34
35
const exercice = () => {
36
const liste = document.querySelector('#tableau');
37
let tableau = liste.value.split(',');
38
let nombre1 = document.querySelector('#nombre1').value;
39
let nombre2 = document.querySelector('#nombre2').value;
40
41
// sommeTailles;
42
document.querySelector('#sommeTailles').value = sommeTailles(tableau);
43
44
// plusLong;
45
document.querySelector('#plusLong').value = plusLong(tableau);
46
47
// plusCourt;
48
document.querySelector('#plusCourt').value = plusCourt(tableau);
49
50
// plusLongNb;
51
document.querySelector('#plusLongNb').value = plusLongNb(tableau, nombre1);
52
53
// echangeTab;
54
document.querySelector('#echangeTab').value = echangeTab(tableau, nombre1, nombre2);
55
}
Exercice :
Complétez le fichier 2-chaines.js :
sommeTailles() : retourne la somme des tailles des mots du tableau.
plusLong() : retourne le plus long mot du tableau.
plusCourt() : retourne l'emplacement du plus court mot du tableau.
plusLongNb() : retourne les mots plus longs que nb caractères.
echangeTab() : retourne le tableau avec les emplacements des mots nb1 et nb2 échangés
N'oubliez pas d'ajouter les paramètres aux fonctions.
Ouvrez dans votre navigateur le fichier 2-chaines.html