Archívum - Jan 3, 2019
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 :)