Skip to content

Commit e1c444a

Browse files
committed
[main] 021 Practice JavaScript reduce function
1 parent 8b8e03d commit e1c444a

File tree

2 files changed

+59
-135
lines changed

2 files changed

+59
-135
lines changed

index.html

+30-88
Original file line numberDiff line numberDiff line change
@@ -5,99 +5,41 @@
55
<meta charset="UTF-8">
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
77
<title>Code Jugaad - Javascript</title>
8-
<style>
9-
::-webkit-scrollbar{
10-
width: 10px;
11-
}
12-
::-webkit-scrollbar-thumb {
13-
border-radius: 10px;
14-
background: linear-gradient(180deg, rgba(131,58,180,1) 0%, rgba(253,29,29,1) 50%, rgba(252,176,69,1) 100%);
15-
}
16-
</style>
8+
<style>
9+
::-webkit-scrollbar {
10+
width: 10px;
11+
}
12+
13+
::-webkit-scrollbar-thumb {
14+
border-radius: 10px;
15+
background: linear-gradient(180deg, rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 50%, rgba(252, 176, 69, 1) 100%);
16+
}
17+
</style>
18+
<script src="https://cdn.jsdelivr.net/npm/dayjs@1/dayjs.min.js"></script>
19+
20+
1721
</head>
1822

1923
<body>
2024

25+
<br>
26+
<br>
27+
<br>
28+
<br>
29+
30+
31+
32+
2133
<!-- -->
22-
<h1 id="title">Disable ??</h1>
23-
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quibusdam
24-
consectetur, nobis accusamus molestiae deserunt tempore saepe officiis
25-
fuga minus nesciunt possimus totam nisi magni tempora ut voluptatem quod
26-
incidunt eum.
27-
Culpa, adipisci! Sed commodi temporibus odio quisquam. Deserunt minus
28-
dolorem perspiciatis accusamus eius voluptatem voluptatibus esse hic
29-
atque ipsam expedita sit nesciunt, fugit, unde nemo laudantium ab
30-
exercitationem eligendi error?
31-
Repudiandae voluptas quo facere debitis vero sapiente dolores quibusdam
32-
voluptatem. Totam impedit, nihil, aperiam ut dolorum nisi ab, delectus
33-
porro magnam neque doloremque quas dignissimos quaerat. Nobis laudantium
34-
quo sunt!
35-
Vitae molestiae omnis impedit quibusdam exercitationem, eum nisi atque
36-
molestias, alias ipsam explicabo voluptates fugit blanditiis possimus
37-
neque eligendi porro? A ab provident voluptas doloremque impedit vel
38-
dolorem aliquid excepturi.
39-
Quaerat excepturi, illo beatae minima libero architecto? Explicabo ab,
40-
ad ipsum consequatur laboriosam asperiores tempore nam, incidunt
41-
praesentium libero quia, quo voluptatum? Magni a qui, vero ex nostrum
42-
asperiores tempora.
43-
Soluta aliquam iste odit illo placeat alias quasi quae ducimus
44-
asperiores vitae. Quae possimus repudiandae sed quos nulla neque
45-
veritatis quam ab eveniet. Sapiente aperiam officia sunt totam? Sint,
46-
minus.
47-
Assumenda hic id quam laborum dignissimos nulla velit saepe veniam
48-
perferendis! Eos, similique! Odit, hic magni? Cumque modi dicta, magnam
49-
deleniti blanditiis quidem amet omnis repudiandae recusandae perferendis
50-
quae nobis.
51-
Sapiente excepturi, officiis fugit deleniti at dolores ipsam maiores?
52-
Quis atque optio, hic neque omnis nobis, distinctio, obcaecati minima ea
53-
pariatur porro perferendis. Tenetur molestiae commodi placeat
54-
laboriosam! Distinctio, provident!
55-
Recusandae cumque ut vel labore. Facilis voluptas sapiente ipsam.
56-
Tempora, cumque dolorum earum fuga consectetur eum eius maxime nihil
57-
delectus quos dolore, libero unde soluta iure nisi voluptatibus id ab?
58-
Deleniti iure, odio officiis blanditiis totam cupiditate quasi,
59-
molestiae quas illum assumenda pariatur obcaecati sapiente voluptatibus
60-
architecto sunt quaerat ut sed quisquam? Ipsum excepturi adipisci quae
61-
consequuntur quidem earum voluptas!
62-
Sit dolor deleniti neque voluptates ducimus labore veritatis temporibus
63-
exercitationem placeat cum unde, aspernatur praesentium sapiente fugiat!
64-
Unde minus voluptatibus ea harum quis facere vitae. Mollitia accusantium
65-
maxime magnam quia?
66-
Ex, nobis! Labore in nam repudiandae debitis aliquid itaque minus
67-
repellendus iure optio! Repellat aut quia aspernatur suscipit quibusdam
68-
tempore nesciunt facilis vel architecto aperiam quidem animi atque,
69-
autem recusandae!
70-
Officiis, itaque nostrum. Quisquam minima autem eum vero, ullam vitae
71-
possimus earum iste. Culpa pariatur a explicabo corporis similique rem
72-
numquam laborum, qui corrupti, suscipit accusamus, doloribus
73-
necessitatibus aliquid earum.
74-
Fugiat quaerat asperiores corporis, aut aspernatur tempora dolorem,
75-
incidunt reiciendis recusandae expedita earum eaque optio facilis
76-
reprehenderit alias facere adipisci est vitae quam in labore
77-
dignissimos, provident quidem. Doloremque, quibusdam!
78-
Voluptatibus, quo quibusdam voluptas at a provident quae aliquam
79-
quisquam dolor enim, corrupti, minima illo et culpa assumenda in
80-
praesentium. Officia adipisci doloribus asperiores nesciunt, consectetur
81-
numquam totam perspiciatis voluptas!
82-
Tempora magnam libero dicta sint rerum quia odio repellendus. Minus
83-
nesciunt sapiente amet! Hic dolores incidunt fugit natus! Sit cupiditate
84-
quos fugit explicabo harum tenetur sequi quidem quaerat, magnam
85-
consectetur.
86-
Eveniet, quaerat mollitia! Esse, cum. Voluptatem, officia rerum
87-
praesentium maiores reprehenderit tempora consequuntur amet tempore
88-
repudiandae delectus vel quidem libero cumque magni quasi voluptate
89-
neque at. Incidunt omnis debitis ut.
90-
Adipisci, harum. Eveniet, ipsum fugit. Reprehenderit repellendus magnam
91-
dolore necessitatibus ipsum tenetur assumenda quisquam quas fugiat
92-
mollitia vero, impedit beatae. Optio, reprehenderit maxime! Magnam fugit
93-
impedit odio assumenda voluptate maxime.
94-
Dolore suscipit expedita possimus ducimus facilis odio cupiditate quae
95-
officia quia repudiandae ab, illo repellat, sequi nemo! Eligendi, quo,
96-
fugit sed porro in nobis, quis fuga ipsa tenetur voluptate voluptas!
97-
Quae, pariatur dolore eos est assumenda libero accusantium illo
98-
laudantium unde veniam suscipit a non totam facilis provident tenetur
99-
sequi esse perspiciatis et! Harum unde facilis aliquam, quam ratione
100-
delectus.</p>
34+
<h1>The Kingdom of Date</h1>
35+
<h2 class="date"></h2>
36+
37+
<script>
38+
const date = dayjs('2018-04-13 19:18').format('MMMM D, YYYY h:mm A');
39+
40+
document.querySelector('.date').innerHTML = date;
41+
</script>
42+
10143
<script src="index.js"></script>
10244

10345
</body>

index.js

+29-47
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,43 @@
11
/**
22
* Question 1
3-
* Write a function that filters out all negative numbers from an array using the filter method.
3+
* How can you use the Array.reduce function to flatten an array of arrays?
4+
*
45
*/
56

6-
// const myarr = [-10, 160, 87, 45, -120, 92, -73];
7-
// const newMyArr = myarr.filter((num) => num >= 0);
8-
// console.log(newMyArr);
7+
const nestedArray = [
8+
[1, 2],
9+
[3, 4],
10+
[5, 6],
11+
];
12+
const newFlatArr = nestedArray.reduce((acc, curr) => {
13+
return acc.concat(curr);
14+
}, []);
15+
console.log(newFlatArr);
916
/**
1017
* Question 2
11-
* Write a function using some to check if there is at least one element in an array that is a palindrome (reads the same backward as forward).
18+
* How can you find the maximum element in an array using Array.reduce?
19+
*
1220
*/
1321

14-
const stringArray = ["level", "hello", "racecar", "world"];
15-
16-
function hasPalindrom(word) {
17-
return word === word.split("").reverse().join("");
18-
}
19-
const arrayIsPalindrom = stringArray.some((word) => hasPalindrom(word));
20-
console.log(arrayIsPalindrom);
22+
const numbers = [10, 20, 30, 40, 50];
23+
const max = numbers.reduce((acc, curr) => {
24+
return acc > curr ? acc : curr;
25+
}, 0);
26+
console.log(max);
2127

2228
/**
2329
* Question 3
24-
* Write a function that filter out on any criteria that user can provide in a callback function
25-
*/
26-
27-
// const filter = (arr, callback) => {
28-
// const filteredArr = [];
29-
// for (let i = 0; i < arr.length; i++) {
30-
// callback(arr[i]) ? filteredArr.push(arr[i]) : "";
31-
// }
32-
// return filteredArr;
33-
// };
34-
35-
// const myarr = [-10, 160, 87, 45, -120, 92, -73];
36-
// const newMyArr = filter(myarr, (num) => num % 2 == 0);
37-
// console.log(newMyArr);
38-
39-
/**
40-
* Question 4
41-
* Write a function customSome that replicates the functionality of the some method
30+
* How can you find the average of an array using Array.reduce?
31+
*
4232
*/
4333

44-
// const customSome = (arr, callback) => {
45-
// for (let i = 0; i < arr.length; i++) {
46-
// if (callback(arr[i])) {
47-
// return true;
48-
// }
49-
// }
50-
51-
// return false;
52-
// };
53-
54-
// const arrOfNumbers = [1, 3, 5, 7, 9];
55-
// const isEven = customSome(arrOfNumbers, (num) => num % 2 === 0);
56-
// console.log(isEven);
34+
const numbers1 = [10, 20, 30, 40, 50];
35+
const avg = numbers1.reduce((acc, curr, index) => {
36+
if (index === numbers1.length - 1) {
37+
return (acc + curr) / numbers1.length;
38+
} else {
39+
return acc + curr;
40+
}
41+
}, 0);
5742

58-
/**
59-
* Question 5
60-
* Write a function customEvery that replicates the functionality of the every method
61-
*/
43+
console.log(avg);

0 commit comments

Comments
 (0)