-
Type:
Investigation
-
Resolution: Declined
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Not Needed
-
Developer Tools
New options were added to $map, $filter and $reduce, allowing users to reference the array index of the element to which the operator's expression is currently being applied.
More specifically, this project added a new parameter ('arrayIndexAs') and a new default variable ('$$IDX') to $map, $reduce and $filter. We also added two additional parameters ('as' and 'valueAs') to $reduce.
Description of Linked Ticket
Summary
Extend $map, $filter, $reduce to expose the index of array element.
Motivation
Sometimes when working with arrays the logic depends on the position of the element. E.g. two-dimentional array represents values on the grid, and element index is a coordinate on X/Y axis; or user may want to select every other element of the array to create a sample for A/B test or parallel processing.
It's pretty cumbersome to calculate position of the element today, so we'd like to introduce a simplified syntax for it.
Example from Paul's book
Documentation
Product Description
Scope
Syntax
Technical Design
Docs Update