Bonjour, Je suis entrain de travailler sur quelque chose qui nécessite l'usage d'un TreeSet comme celui en java, alors si on un fichier Map.js comme suit:
Est ce que quelqu'un peut m'aider à écrire une fonction TreeSet pour JavaScript, svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118 function Map() { // members this.keyArray = new Array(); // Keys this.valArray = new Array(); // Values // methods this.put = put; this.get = get; this.size = size; this.clear = clear; this.keySet = keySet; this.valSet = valSet; this.showMe = showMe; // returns a string with all keys and values in map. this.findIt = findIt; this.remove = remove; } function put( key, val ) { var elementIndex = this.findIt( key ); if( elementIndex == (-1) ) { this.keyArray.push( key ); this.valArray.push( val ); } else { this.valArray[ elementIndex ] = val; } } function get( key ) { var result = null; var elementIndex = this.findIt( key ); if( elementIndex != (-1) ) { result = this.valArray[ elementIndex ]; } return result; } function remove( key ) { var result = null; var elementIndex = this.findIt( key ); if( elementIndex != (-1) ) { this.keyArray = this.keyArray.removeAt(elementIndex); this.valArray = this.valArray.removeAt(elementIndex); } return ; } function size() { return (this.keyArray.length); } function clear() { for( var i = 0; i < this.keyArray.length; i++ ) { this.keyArray.pop(); this.valArray.pop(); } } function keySet() { return (this.keyArray); } function valSet() { return (this.valArray); } function showMe() { var result = ""; for( var i = 0; i < this.keyArray.length; i++ ) { result += "Key: " + this.keyArray[ i ] + "\tValues: " + this.valArray[ i ] + "\n"; } return result; } function findIt( key ) { var result = (-1); for( var i = 0; i < this.keyArray.length; i++ ) { if( this.keyArray[ i ] == key ) { result = i; break; } } return result; } function removeAt( index ) { var part1 = this.slice( 0, index); var part2 = this.slice( index+1 ); return( part1.concat( part2 ) ); } Array.prototype.removeAt = removeAt;![]()
Merci infiniment
Partager