2023-03-25

 25 Mar 2023

Return a new Array where each element is the Product of other elements

Taken from DailyCodingProblem:

Given an array of integers, return a new array such that each element at index i of the new array is the product of all the numbers in the original array except the one at i.

For example, if our input was [1, 2, 3, 4, 5], the expected output would be [120, 60, 40, 30, 24]. If our input was [3, 2, 1], the expected output would be [2, 3, 6].

This is the answer I came up with:

const solution = (numbers: Array<number>): Array<number> => {
  let result = []
  for (let num of numbers) {
    let tempStart = numbers.slice(0, num)
    tempStart.pop()
    let tempEnd = numbers.slice(num, numbers.length)
    let tempArray = tempStart.concat(tempEnd)
    let tempResult = tempArray.reduce((product, x) => product * x)
    result.push(tempResult)
  }
  return result
}

Testing

Solution tested in REPL:

https://www.typescriptlang.org/play?#code/MYewdgzgLgBBIBsCuUCW4YF4YAoxIFsAjAUwCcIAuGAQTLIEMBPAHn2PID4BKaux1u1JlOWUQG8AsACgYMBCVhkSEJAljYA2gF0ZcgGYgyuBbHYwQ+mEPIRuMKbLnzFMKCQIAHAMpQGZDWtCYQgAOggEVGASHAAGABoggm49Z3cvX38oUM8QTxwUpzlTNw9PAFEwABMsJJDwyOi8QkSbClCFMABzKAALQucXWHTPfmZakcyA0NAwYAYoHBHKqoHnEpGAJRU1QJGxplDlKqQmnE8yEBPgKESAD3tMUQur09gAKhgH1LllVXUckgIL0lmVtv8oGsAL6pZRQJBkMAwP67GQw6QyEptCC1TQARniACZ4gBmeIAFniAFZdBjpLN4AoOiAujhUoyUOgwM0OBRCvYAPQCmD4wkJGAANnF5PFJPFhPJtKAA

Copyright © Paramdeo Singh · All Rights Reserved · Built with Jekyll

This node last updated October 9, 2024 and is permanently morphing...

Paramdeo Singh Guyana

Generalist. Edgerunner. Riding the wave of consciousness in this treacherous mortal sea.

Technology Design Strategy Literature Personal Blogs
Search Site

Results are from Blog, Link Dumps, and #99Problems