For any given array of arrays of numbers, create largerNumber
function that sums up the content of each sub-array(where possible) and return the larger number.
Here examples of arrays and their results:
largesetNumber([[1, 2], [2, 10], [3, 4]]); //12
largesetNumber([[1, 2, 100,1], [2, 10], [3, 4]]); //104
largesetNumber([[1], [2, 10], [3, 4]]);//12
largesetNumber([[], [2, 10], [3, 4]]);//12
largesetNumber([]);//'empty array'
Assumptions
- items are all numbers or empty arrays
Knowledge
- how to access a nested array
- how to sum-up its nested items
Pseudo-code
- mapping through each nested array
- sum up each value inside their nested array
- choose the largest number
Solution
const largesetNumber = (array) => {
if(array.length<1){
return "empty array";
}
return Math.max(...array.map(item => item.length? item.reduce((acc, curr) => acc + curr) : 0))
}
Comment(s) (random)
- originally I did not think about a statement to "filter out empty arrays" not empty nested arrays: an if statement and a ternary operator made the job
- initially while the map was looping through the nested loop I would push the result of reduce inside another array, but a more efficient way was found
// const largerNumber = (array) => {
// if(array.length<1){
// return "this is an empty array";
// }
// const result = [];
// array.forEach((item, index) => item.length>0 ? result.push(item.reduce((acc, curr)=> acc + curr)): console.log(`Array at position ${index} is empty`))
// return Math.max(...result)
// }
Top comments (0)