-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprojectingArrays.js
More file actions
68 lines (63 loc) · 1.68 KB
/
projectingArrays.js
File metadata and controls
68 lines (63 loc) · 1.68 KB
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
// Applying a function to a value and creating a new value is called a projection.
// To project one array into another, we apply a projection function to each item in the array and collect the results in a new array.
// 1.- Traverse the source array
// 2.- Add each item's projected value to a new array
(function() {
var newReleases = [
{
"id": 70111470,
"title": "Die Hard",
"boxart": "http://cdn-0.nflximg.com/images/2891/DieHard.jpg",
"uri": "http://api.netflix.com/catalog/titles/movies/70111470",
"rating": [4.0],
"bookmark": []
},
{
"id": 654356453,
"title": "Bad Boys",
"boxart": "http://cdn-0.nflximg.com/images/2891/BadBoys.jpg",
"uri": "http://api.netflix.com/catalog/titles/movies/70111470",
"rating": [5.0],
"bookmark": [{ id: 432534, time: 65876586 }]
},
{
"id": 65432445,
"title": "The Chamber",
"boxart": "http://cdn-0.nflximg.com/images/2891/TheChamber.jpg",
"uri": "http://api.netflix.com/catalog/titles/movies/70111470",
"rating": [4.0],
"bookmark": []
},
{
"id": 675465,
"title": "Fracture",
"boxart": "http://cdn-0.nflximg.com/images/2891/Fracture.jpg",
"uri": "http://api.netflix.com/catalog/titles/movies/70111470",
"rating": [5.0],
"bookmark": [{ id: 432534, time: 65876586 }]
}
];
videoAndTitlePairs = [];
newReleases.forEach(function(item) {
videoAndTitlePairs.push({ id: item.id, title: item.title});
});
return videoAndTitlePairs;
})();
console.log('videoAndTitlePairs', videoAndTitlePairs);
// Output
/*
{
"id": 70111470,
"title": "Die Hard"
},{
"id": 654356453,
"title": "Bad Boys"
},{
"id": 65432445,
"title": "The Chamber"
},
{
"id": 675465,
"title": "Fracture"
}
*/