2 changed files with 29 additions and 0 deletions
@ -0,0 +1,7 @@ |
|||||||
|
{ |
||||||
|
"number": "2", |
||||||
|
"task": "Подсчитайте общее количество массивов внутри данного массива. Т.к. конвертирование строки в многомерный массив, не самая тривиальная задача, то исходный массив задается внутри кода.\narr = [[1, 2, 3, [1, 2, 3]], [[[]]], 3]", |
||||||
|
"vars": [[]], |
||||||
|
"scriptpath": "labs/lab2/main.js", |
||||||
|
"complete": true |
||||||
|
} |
||||||
@ -0,0 +1,22 @@ |
|||||||
|
"use strict"; |
||||||
|
|
||||||
|
function main(formName) { |
||||||
|
let result = document.getElementById("result"); |
||||||
|
let arr = [ |
||||||
|
[1, 2, 3, [1, 2, 3]], |
||||||
|
[[[]]], |
||||||
|
3, |
||||||
|
]; |
||||||
|
|
||||||
|
result.textContent = "Результат: " + countArr(arr); |
||||||
|
} |
||||||
|
|
||||||
|
function countArr(item, level = 0) {
|
||||||
|
if (item instanceof Array) { |
||||||
|
return (level > 0 ? 1 : 0) + |
||||||
|
item.map( |
||||||
|
(value, index) => countArr(value, level + 1) |
||||||
|
).reduce((a, b) => a + b, 0) |
||||||
|
} |
||||||
|
return 0; |
||||||
|
} |
||||||
Loading…
Reference in new issue