-
Notifications
You must be signed in to change notification settings - Fork 1
/
flat.js
60 lines (50 loc) · 1.21 KB
/
flat.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
/*
* Array.flat()
* Array.flatMap()
*/
let semesterClasses = [
[
"Matemática Fundamental",
"Lógica de Programação",
"Algoritmos",
"Inglês Técnico",
"Introdução a Computação"
],
[
"Cálculo 1",
"Programação",
"Estrutura de Dados 1",
["Projeto 1", "Normas Academicas"],
"Banco de Dados"
],
[
"Cálculo 2",
"Programação O.O.",
"Estrutura de Dados 2",
"Engenharia de Software",
"Sistemas Operacionais"
],
[
"Redes",
"Programação Web",
"Compiladores",
["Projeto 2", "Produção de Texto"],
"Micro controladores"
]
];
let classes = [];
classes = [].concat.apply([], semesterClasses);
classes = semesterClasses.flat();
console.log(classes);
classes = semesterClasses.flat(2);
console.log(classes);
classes = semesterClasses.flat(Infinity);
console.log(classes);
let grades = [7.8, 6.2, 8.0, 6.4];
let roundGradesStudents = grades.map(grade => [grade, Math.round(grade)]);
console.log(roundGradesStudents);
let gradesFlat = [];
gradesFlat = [].concat.apply([], roundGradesStudents);
console.log("concat", gradesFlat);
gradesFlat = grades.flatMap(grade => [grade, Math.round(grade)]);
console.log("flatMap", gradesFlat);