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