Maximum and minimum
Codewars 6kyu
by trentHarlem
HTML
incomplete... close
JavaScript
function max(...args) {
const myArgs = [...args] // produces array from args
const myArr = Array.from(myArgs).reduce((a, c) => a.concat(c), [])
//return Number(myArr.reduce((a, c) => a > c ? a : c, 0))
const maxSort = myArr.sort((a, b) => b - a).filter(n => typeof(n) === 'number')
return Number(maxSort[0])
}
function min(...args) {
const myArgs = [...args]
const myArr = Array.from(myArgs).reduce((a, c) => a.concat(c), []).reduce((a, c) => a.concat(c), [])
const minSort = myArr.sort((a, b) => a - b)
console.log('minSort', minSort)
return Number(minSort[0])
}
//.filter(n=>typeof(n)==='number')
//const max = a => Array.from(...a).flat(2).reduce((a, c) => a > c, 0)
//const min = a => a.flat(2).reduce((a, c) => a < c, 0)
console.log(typeof('4r') === 'number')
console.log(max(1, 2, 3, 4), 4)
console.log(max(1, 2, [3, ['4r']]), NaN)
console.log(max(1, 2, [3, [4]]), 4)
console.log(max(1, 2, 3, 4), 4)
console.log(min(1, 2, 3, 4), 1)
console.log(min([1, 2], 3, 4), 1)
console.log(min([5, 22], 3, 4), 1)
console.log(min([5, 22], 3, 4), 3)
console.log(min(1, 2, [3, [4, 0]]), 0, 'poo')
/*
Test.assertEquals(max(1,2,[3,4]), 4);
Test.assertEquals(max(1,2,[3,[4]]), 4);
Test.assertEquals(min(1,2,3,4), 1);
Test.assertEquals(min([1,2],3,4), 1);
Test.assertEquals(min(1,2,[3,[4,0]]), 0);
*/
////////// with .flat()
/*
function max(...args) {
const myArgs = [...args] // produces array from args
const myArr = Array.from(myArgs).flat(2) // allows flatten
return myArr.reduce((a, c) => a > c ? a : c, 0)
}
function min(...args) {
const myArgs = [...args] // produces array from args
const myArr = Array.from(myArgs).flat(2) // allows flatten
return myArr.reduce((a, c) => a < c ? a : c)
}
*/
//////////
/*
function max(...args) {
const myArgs = [...args] // produces array from args
const myArr = Array.from(myArgs).reduce((a, c) => a.concat(c), [])
//return Number(myArr.reduce((a, c) => a > c ? a : c, 0))
const maxSort =...