2635.ts 684 B

123456789101112131415161718192021222324
  1. // 2635. Apply Transform Over Each Element in Array
  2. function map(arr: number[], fn: (n: number, i: number) => number): number[] {
  3. let ret: number[] = [];
  4. const limit: number = arr.length;
  5. for ( let i = 0; i < limit; ++i ) {
  6. ret[i] = fn(arr[i], i);
  7. }
  8. return ret;
  9. };
  10. function main() {
  11. function r(arr: number[], fn: (n: number, i: number) => number, exp: number) {
  12. console.log(`map([${arr}], ${fn}) = ${map(arr, fn)} | exp: ${exp}`)
  13. }
  14. r([1,2,3], function plusone(n) { return n + 1; }, [2,3,4])
  15. r([1,2,3], function plusI(n, i) { return n + i; }, [1,3,5])
  16. r([10,20,30], function constant() { return 42; }, [42,42,42])
  17. }
  18. main()