Your question is Array.map Polyfill. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
EPAM Systems front-end components often transform arrays of configuration or display data before rendering. Implement a Python equivalent of JavaScript's Array.map() behavior.
Create array_map(items, operation) that returns a new array containing one transformed value for each input element. The operation represents the callback supplied to map and receives the current value, its zero-based index, and the original array. For JSON-compatible tests, represent the callback with one of these operation names: identity, double, square, or value_plus_index.
The function must preserve input order, include exactly one output for every input element, and leave the original array unchanged. Do not use Python's built-in map() or list comprehensions for the main implementation.
items, a list of integers, and operation, a supported string operation.identity returns the value unchanged.double returns value * 2.square returns value * value.value_plus_index returns value + index.def array_map(items, operation):