-
Notifications
You must be signed in to change notification settings - Fork 0
/
challenge-05.js
105 lines (94 loc) · 3.33 KB
/
challenge-05.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
/*
Crie uma variável qualquer, que receba um array com alguns valores aleatórios
- ao menos 5 - (fica por sua conta os valores do array).
*/
var oneArray = [26, 'alexsandro', true, {obj: 'value'}, null ];
/*
Crie uma função que receba um array como parâmetro, e retorne esse array.
*/
function myArray(arr) {
return arr;
}
/*
Imprima o segundo índice do array retornado pela função criada acima.
*/
console.log( myArray( oneArray )[1] ); // 26
/*
Crie uma função que receba dois parâmetros: o primeiro, um array de valores; e o
segundo, um número. A função deve retornar o valor de um índice do array que foi passado
no primeiro parâmetro. O índice usado para retornar o valor, deve ser o número passado no
segundo parâmetro.
*/
function filterArrayByIndex( arr, index ) {
return arr[ index ];
}
/*
Declare uma variável que recebe um array com 5 valores, de tipos diferentes.
*/
var otherArray = [ 'A string cool', 999, null, true, {me: 'alexsandro'} ];
/*
Invoque a função criada acima, fazendo-a retornar todos os valores do último
array criado.
*/
console.log( filterArrayByIndex( otherArray, 0 ) );
console.log( filterArrayByIndex( otherArray, 1 ) );
console.log( filterArrayByIndex( otherArray, 2 ) );
console.log( filterArrayByIndex( otherArray, 3 ) );
console.log( filterArrayByIndex( otherArray, 4 ) );
/*
Crie uma função chamada `book`, que recebe um parâmetro, que será o nome do
livro. Dentro dessa função, declare uma variável que recebe um objeto com as
seguintes características:
- esse objeto irá receber 3 propriedades, que serão nomes de livros;
- cada uma dessas propriedades será um novo objeto, que terá outras 3
propriedades:
- `quantidadePaginas` - Number (quantidade de páginas)
- `autor` - String
- `editora` - String
- A função deve retornar o objeto referente ao livro passado por parâmetro.
- Se o parâmetro não for passado, a função deve retornar o objeto com todos
os livros.
*/
function book( nome ) {
var livros = {
'Código Limpo': {
quantidadePaginas: 440,
autor: 'Robert Cecil Martin',
editora: 'Alta Books'
},
'Mindset': {
quantidadePaginas: 312,
autor: 'Carol Dweck',
editora: 'Objetiva'
},
'Segredos do Ninja Javascript': {
quantidadePaginas: 488,
autor: 'Resig,John / Bibeault,Bear',
editora: 'NOVATEC'
}
};
return nome ? livros[ nome ] : livros;
}
/*
Usando a função criada acima, imprima o objeto com todos os livros.
*/
console.log( book() );
/*
Ainda com a função acima, imprima a quantidade de páginas de um livro qualquer,
usando a frase:
"O livro [NOME_DO_LIVRO] tem [X] páginas!"
*/
var bookName = 'Código Limpo';
console.log( 'O livro ' + bookName + ' tem ' + book( bookName ).quantidadePaginas + ' páginas!');
/*
Ainda com a função acima, imprima o nome do autor de um livro qualquer, usando
a frase:
"O autor do livro [NOME_DO_LIVRO] é [AUTOR]."
*/
console.log( 'O autor do livro ' + bookName + ' é ' + book( bookName ).autor + '.' );
/*
Ainda com a função acima, imprima o nome da editora de um livro qualquer, usando
a frase:
"O livro [NOME_DO_LIVRO] foi publicado pela editora [NOME_DA_EDITORA]."
*/
console.log( 'O livro ' + bookName + ' foi publicado pela editora ' + book( bookName ).editora + '.' )