-
Notifications
You must be signed in to change notification settings - Fork 0
/
challenge-22.js
98 lines (86 loc) · 3.44 KB
/
challenge-22.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
(function() {
'use strict';
/*
Crie dois objetos, que serão duas pessoas. Cada um deve ter as propriedades
`name` e `lastName`, preenchidos com o nome e sobrenome da pessoa.
*/
var people1 = {
name: 'Alexsandro',
lastName: 'Alves'
}
var people2 = {
name: 'Maria',
lastName: 'Alves'
}
/*
Agora crie uma função chamada `getFullName` que retorne as propriedades
`name` e `lastName` dos objetos acima, formando um nome completo.
A função não deve receber nenhum parâmetro, mas as propriedades `name` e
`lastName` devem ser dinâmicas.
A mesma função deve servir para as duas pessoas (ou qualquer outra que for
criada).
Depois disso, invoque essa função, mostrando no console o nome completo das
pessoas que foram criadas anteriormente, passando as pessoas acima como
contexto da função. Use um console.log por pessoa.
*/
console.log( 'O nome das pessoas é:' );
function getFullName() {
return this.name + ' ' + this.lastName;
}
console.log( getFullName.call( people1 ) );
console.log( getFullName.call( people2 ) );
/*
Crie uma função chamada `sum`. Essa função pode receber uma lista de
parâmetros variável, e deverá retornar a soma de todos eles.
Não use estruturas de repetição para somar os argumentos.
Na primeira linha, dentro da função, deixe um console.log para mostrar todos
os parâmetros passados para essa função.
*/
function sum() {
console.log( arguments );
return Array.prototype.reduce.call( arguments, function( acc, cur ) {
return parseInt(acc) + parseInt(cur);
});
}
/*
Mostre no console que a função acima funciona, invocando-a em 3 console.log
diferentes, com quantidades variáveis de parâmetros passados.
*/
console.log( '\nSomar alguns números:' );
console.log( sum( 1, 2, 3, 4, 5, 6, 7, 8, 9 ) );
console.log( sum( 10, 20 ) );
console.log( sum( 10, 2, 3, 5, 100 ) )
/*
Declare uma variável chamada `userEntry`, que irá receber alguns valores
entrados pelo usuário. Mostre para o usuário a seguinte frase:
"Entre com alguns números que serão somados:"
*/
var userEntry = prompt('Entre com alguns números que serão somados:');
/*
Mostre no console o valor entrado pelo usuário:
*/
console.log( '\nEntrada do usuário:' );
console.log( userEntry );
/*
Crie uma função chamada `justNumbers`, que recebe por parâmetro uma string
e remove tudo o que não for número, retornando um array somente com os números
da string. Mostre a representação em string dessa função no console.
*/
console.log( '\nFunção que limpa entrada do usuário (somente números):' );
function justNumbers( entry ) {
return entry.replace(/\D+/gm,',').split( ',' );
}
/*
Usando a função acima, faça a limpeza dos valores entrados pelo usuário,
atribuindo o resultado à uma variável `numbers`.
*/
console.log( '\nEntrada do usuário limpa. Somente números:' );
var numbers = justNumbers( userEntry );
console.log( numbers );
/*
Agora com o array de números, utilize a função `sum` para somar todos os
números desse array e mostre o resultado no console.
*/
console.log( '\nSomar números entrados pelo usuário:' );
console.log( sum.apply( sum, numbers ) );
})();