From 03ee42bfea8c7fb1343e214d07b5efd848b419c5 Mon Sep 17 00:00:00 2001 From: gkucmierz Date: Sat, 19 Aug 2017 16:03:51 +0200 Subject: [PATCH] How deep do these trees even go? --- how-deep-do-these-trees-even-go/index.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 how-deep-do-these-trees-even-go/index.js diff --git a/how-deep-do-these-trees-even-go/index.js b/how-deep-do-these-trees-even-go/index.js new file mode 100644 index 0000000..4120b76 --- /dev/null +++ b/how-deep-do-these-trees-even-go/index.js @@ -0,0 +1,20 @@ +// https://www.codewars.com/kata/how-deep-do-these-trees-even-go/train/javascript + +function arrayDeepness(arr) { + let deep = (arr, lvl, fn) => { + if (arr && arr.map) { +// arr.map(el => deep(el, lvl + 1, fn)); + for (let i = 0; i < arr.length; ++i) { + deep(arr[i], lvl + 1, fn); + } + } else { + fn(lvl); + } + }; + let res = []; + deep(arr, 0, lvl => res.push(lvl)); + let min = Math.min(...res); + let max = Math.max(0, ...res); + let mean = +(res.reduce((a, b) => a + b, 0) / res.length).toFixed(3); + return {min, max, mean}; +} \ No newline at end of file