-
Notifications
You must be signed in to change notification settings - Fork 0
/
challenge-13.js
213 lines (182 loc) · 5.65 KB
/
challenge-13.js
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
;(function() {
/*
Envolva todo o código desse desafio em uma IIFE.
*/
/*
Crie um array e mostre no console a representação em String desse array,
usando o método visto na aula 13.
*/
console.log( 'O array em formato de string é:' );
var simpleArray = [ 1, 2, 3 ];
console.log( simpleArray.toString() );
/*
Crie 2 arrays `sul` e `sudeste`, que serão as regiões do Brasil.
Cada array deve conter os estados dessa região.
*/
var sul = [
'Paraná',
'Santa Catarina',
'Rio Grande do Sul'
];
var sudeste = [
'Espírito Santo',
'Minas Gerais',
'Rio de Janeiro',
'São Paulo'
];
/*
Crie uma variável chamada `brasil`, que irá receber as duas regiões
concatenadas. Mostre o `brasil` no console.
*/
console.log( '\nAlguns Estados do Brasil:' );
var brasil = sudeste.concat( sul );
console.log( brasil );
/*
Adicione 3 novos estados da região Norte no início do array e mostre no console.
*/
console.log( '\nMais estados adicionados:' );
brasil.unshift( 'Acre', 'Amapá', 'Amazonas' );
console.log( brasil );
/*
Remova o primeiro estado do array `brasil` e mostre-o no console.
*/
console.log( '\nEstado removido:' );
console.log( brasil.shift() );
/*
Crie um novo array chamado `newSul`, que receba somente os estados do sul,
pegando do array `brasil`. Não remova esses itens de `brasil`.
*/
var newSul = brasil.slice( 6 );
/*
Mostre no console os estados que estão em `newSul`.
*/
console.log( '\nEstados do Sul do Brasil:' );
console.log( newSul );
/*
Mostre no console todos os estados que estão em `brasil`.
*/
console.log( '\nAlguns Estados do Brasil:' );
console.log( brasil );
/*
Crie um novo array chamado `nordeste`, que tenha os estados do nordeste.
*/
var nordeste = [
'Alagoas',
'Bahia',
'Ceará',
'Maranhão',
'Paraíba',
'Pernambuco',
'Piauí',
'Rio Grande do Norte',
'Sergipe'
];
/*
Mostre no console os estados do nordeste.
*/
console.log( '\nEstados do Nordeste:' );
console.log( nordeste );
/*
Remova de `brasil` os estados do `sudeste`, colocando-os em uma variável
chamada `newSudeste`.
*/
var newSudeste = brasil.splice( 2, 5 );
/*
Adicione os estados do `nordeste` ao array `brasil`. Esses estados devem
ficar no mesmo nível que os estados já existentes, não em um array separado.
*/
brasil = brasil.concat( nordeste );
/*
Mostre no console os estados em `newSudeste`.
*/
console.log( '\nEstados em newSudeste:' );
console.log( newSudeste );
/*
Mostre no console os estados do `brasil`.
*/
console.log( '\nAlguns estados do Brasil:' );
console.log( brasil );
/*
usando forEach, percorra o array `brasil` e gere um novo array chamado
`newBrasil`. Esse array deve ter cada item como um objeto, com as
propriedades:
- `id`: que será o índice do array `brasil`,
- `estado`: que será o estado do array `brasil`.
*/
var newBrasil = [];
brasil.forEach(function( item, index ) {
newBrasil.push({
id: index,
estado: item
});
});
/*
Mostre o array `newBrasil` no console
*/
console.log( '\nnewBrasil:' );
console.log( newBrasil );
/*
Percorra o array `brasil` e verifique se os estados tem mais de 7 letras cada,
atribuindo o resultado à uma variável. Se tiver, mostre no console a frase:
- "Sim, todos os estados tem mais de 7 letras!"
Senão, mostre no console:
- "Nem todos os estados tem mais de 7 letras!"
*/
console.log( '\nTodos os estados de `brasil` tem mais de 7 letras?' );
var everyStatesMoreSevenLetters = brasil.every(function(state) {
return state.length > 7;
});
if( everyStatesMoreSevenLetters ) {
console.log( 'Sim, todos os estados tem mais de 7 letras!' );
}
else {
console.log( 'Nem todos os estados tem mais de 7 letras!' );
}
/*
Percorra o array `brasil` e verifique se o Ceará está incluído, atribuindo o
resultado à uma variável. Se esse estado existir no array, mostrar a frase no
console:
- "Ceará está incluído!"
Senão, mostrar a frase:
- "Ceará não foi incluído :("
*/
console.log( '\nCeará está incluído em `brasil`?' );
var existCeara = brasil.some(function( item ) {
return item === 'Ceará';
});
if ( existCeara ) {
console.log( 'Ceará está incluído!' );
}
else {
console.log ( 'Ceará não foi incluído :(' );
}
/*
Percorra o array `newBrasil` e crie um novo array que some 1 no ID de cada
objeto desse array, e adicione a frase abaixo na propriedade `estado`:
- "[ESTADO] pertence ao Brasil."
Atribua o novo array a uma variável chamada `map`.
*/
var map = newBrasil.map(function(item){
return {
id: ++item.id,
estado: item.estado + ' pertence ao Brasil'
}
});
/*
Mostre no console o array criado acima:
*/
console.log( '\nnewBrasil agora com mais informações:' );
console.log( map );
/*
Filtre o array criado acima, retornando somente os estados que tiverem
ID par. Atribua o valor à uma variável chamada `filter`.
*/
var filter = map.filter(function(item){
return (item.id % 2) === 0;
})
/*
Mostre o array filtrado acima no console.
*/
console.log( '\nEstados com ID par:' );
console.log( filter );
})();