Archívum - Jan 3, 2019 - Fórum téma
Rekurzió
Lenne egy egyszerű feladat: nested tömbben megszámolni egy adott elem gyakoriságát, rekurzív módon.
Nekem van egy megoldásom, de nem igazán tetszik és érdekelne más megoldás.Ami nem tetszik:
- van benne egy 'for'
- biztos van szebb megoldas :)
■ Nekem van egy megoldásom, de nem igazán tetszik és érdekelne más megoldás.
- function countItems(arr, item) {
- var result = 0;
- (function count(arr, item){
- for (var i=0; i<arr.length; i++){
- if (Array.isArray(arr[i])){
- count(arr[i], item);
- } else if (arr[i] === item) {
- result++;
- }
- }
- })(arr, item);
- return result;
- }
- var arr = [
- ["banana", "strawberry", "apple", ["banana", "strawberry", "apple", ["apple"]], "apple"],
- "apple",
- ["banana", "strawberry", "apple", ["banana", "strawberry", "apple"]]
- ];
- console.log(countItems(arr, "apple"));
- van benne egy 'for'
- biztos van szebb megoldas :)