Я пытаюсь отследить, сколько раз в одном и том же ключе отображаются четыре конкретных строковых значения.
Проблема в том, что мне трудно добавить несколько счетчиков.Первый счетчик работает и отслеживает первое условие, но следующее условие в операторе if / else препятствует тому, чтобы начальное и каждое условие с этого момента добавлялось правильно.Данные поступают с Promise.all
, который содержит несколько URL-адресов.
Вот мой код:
const urls = [
'https://api.github.com/users/TylerP33/repos?page=1',
'https://api.github.com/users/TylerP33/repos?page=2',
'https://api.github.com/users/TylerP33/repos?page=3',
'https://api.github.com/users/TylerP33/repos?page=4',
'https://api.github.com/users/TylerP33/repos?page=5',
'https://api.github.com/users/TylerP33/repos?page=6',
'https://api.github.com/users/TylerP33/repos?page=7',
'https://api.github.com/users/TylerP33/repos?page=8',
'https://api.github.com/users/TylerP33/repos?page=9',
'https://api.github.com/users/TylerP33/repos?page=10',
'https://api.github.com/users/TylerP33/repos?page=11',
'https://api.github.com/users/TylerP33/repos?page=12'
]
function getLanguages() {
return Promise.all(urls.map(url =>
fetch(`${url}`)
.then(response => response.json())
.then(obj => obj.forEach(function(val) {
var rubyCounter = 0
var cssCounter = 0
var htmlCounter = 0
var jsCounter = 0
if (val.language === "Ruby") {
rubyCounter++;
console.log(rubyCounter);
}
})))
)
}
getLanguages();
rubyCounter
вернет 235
, что является правильной суммой, ноесли я добавлю больше условий, это похоже на условие истина / ложь, проходящее через один и тот же ключ.Возможно, мне не хватает чего-то вопиющего, но мне было любопытно посмотреть, что вы, ребята, подумали.
Заранее спасибо.