From c792982817b85af4e0d18bd7866699dfc5615c16 Mon Sep 17 00:00:00 2001 From: koronya Date: Mon, 2 Mar 2026 03:24:02 +0900 Subject: [PATCH] [JS][7kyu] Sum of a nested list --- codewars/7kyu/sum-of-a-nested-list/koronya.js | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 codewars/7kyu/sum-of-a-nested-list/koronya.js diff --git a/codewars/7kyu/sum-of-a-nested-list/koronya.js b/codewars/7kyu/sum-of-a-nested-list/koronya.js new file mode 100644 index 000000000..b6c16a1f6 --- /dev/null +++ b/codewars/7kyu/sum-of-a-nested-list/koronya.js @@ -0,0 +1,22 @@ +// [JS][7kyu] Sum of a nested list +// sum-of-a-nested-list +// https://www.codewars.com/kata/5a15a4db06d5b6d33c000018/train/javascript + +// const sumNested = (arr) => { +// return arr.flat().reduce((acc, item) => acc + (Array.isArray(item) ? sumNested(item) : item), 0) +// } +const sumNested = (arr) => arr.flat(Infinity).reduce((acc, item) => acc + item, 0) + +sumNested([1]) === 1 +sumNested([1, 2, 3, 4]) === 10 +sumNested([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) === 55 + +sumNested([]) === 0 + +sumNested([[1], []]) === 1 +sumNested([[1, 2, 3, 4]]) === 10 + +sumNested([1, [1], [[1]], [[[1]]]]) === 4 +sumNested([1, [1], [1, [1]], [1, [1], [1, [1]]]]) === 8 + +sumNested([[[[], [], [[[[[[[[[[]]]]]]]]]]], [], [], [[[], [[]]]]], []]) === 0