From 8a3f0b31ed44d55a0a961c4aff23b92955e5c964 Mon Sep 17 00:00:00 2001 From: Debendu Das <66923140+debendu-das@users.noreply.github.com> Date: Sun, 5 Oct 2025 02:45:47 +0530 Subject: [PATCH 1/3] Create filter.js --- .../filter.js | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter.js diff --git a/Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter.js b/Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter.js new file mode 100644 index 0000000000..22a978e0aa --- /dev/null +++ b/Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter.js @@ -0,0 +1,40 @@ +// How many times have we written long for-loops just to filter data manually? +// The filter() method makes it so much simpler — one clean line to get exactly what you need! +// Let’s see how we used to do it vs. how clean it can be now. + +//before +(function executeRule(current, previous /*null when async*/) { + + var incidents = [ + { number: 'INC001', state: 'In Progress' }, + { number: 'INC002', state: 'Resolved' }, + { number: 'INC003', state: 'New' }, + { number: 'INC004', state: 'In Progress' } + ]; + + var inProgress = []; + for (var i = 0; i < incidents.length; i++) { + if (incidents[i].state === 'In Progress') { + inProgress.push(incidents[i]); + } + } + + gs.info('In Progress Incidents: ' + JSON.stringify(inProgress)); + +})(current, previous); + +//after +(function executeRule(current, previous /*null when async*/) { + + var incidents = [ + { number: 'INC001', state: 'In Progress' }, + { number: 'INC002', state: 'Resolved' }, + { number: 'INC003', state: 'New' }, + { number: 'INC004', state: 'In Progress' } + ]; + + var inProgress = incidents.filter(inc => inc.state === 'In Progress'); + + gs.info('In Progress Incidents: ' + JSON.stringify(inProgress)); + +})(current, previous); From 26d3c29c910f6141ebffb628cca01f3fe6ddf24c Mon Sep 17 00:00:00 2001 From: Debendu Das <66923140+debendu-das@users.noreply.github.com> Date: Sun, 5 Oct 2025 11:53:22 +0530 Subject: [PATCH 2/3] Create README.md --- .../filter/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter/README.md diff --git a/Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter/README.md b/Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter/README.md new file mode 100644 index 0000000000..86c8dd2209 --- /dev/null +++ b/Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter/README.md @@ -0,0 +1,9 @@ +## `filter()` Method + +The `filter()` method creates a **new array** with all elements that pass the condition implemented by the provided function. + +### Syntax + +array.filter((element, index, array) { + // return true to keep the element, false otherwise +}); From a03e42d2574de6692eed3bf36f7af1a36053201a Mon Sep 17 00:00:00 2001 From: Debendu Das <66923140+debendu-das@users.noreply.github.com> Date: Sun, 5 Oct 2025 11:55:13 +0530 Subject: [PATCH 3/3] Moving to sub-folder --- .../Server-side ECMAScript 2021 examples/{ => filter}/filter.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/{ => filter}/filter.js (100%) diff --git a/Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter.js b/Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter/filter.js similarity index 100% rename from Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter.js rename to Modern Development/ECMASCript 2021/Server-side ECMAScript 2021 examples/filter/filter.js