Хорошо, поэтому я использую углы, чтобы получить json, сохраненный на моем компьютере, чтобы воссоздать учебную таблицу github.Как получить счет с вложенными объектами с определенным свойством?
Я могу получить данные с моим запросом $ http, но для любви ко мне все, что я хочу, - это подсчитать количество проблем с меткой «Еще нет».
Вот JavaScript:
$http.get('/api/github/repos/issues/all_issues/00All.json')
.then(function(response) {
console.log(response.data[0]);
var counter = 0;
for(var index = 0; index < response.data.length; index++) {
if(response.data[index].labels[0].name == "Not Yet") {
counter++;
};
};
console.log(counter);
});
Это последняя попытка, я также попытался использовать lodash, чтобы получить его раньше:
$http.get('/api/github/repos/issues/all_issues/00All.json')
.then(function(response) {
console.log(response);
mile.notYet.width = _.forEach(response.data, function(n){
var counter = 0;
if(_.result(_.find(n.labels[0], 'name')) == "Not Yet") {
counter++;
}
console.log(counter);
counter = ((counter/10) * 100) + '%';
});
});
Это бит данных JSon:
[
{
"url": "https://api.github.com/repos/TheIronYard--Orlando/2015--SUMMER--FEE/issues/11",
"labels_url": "https://api.github.com/repos/TheIronYard--Orlando/2015--SUMMER--FEE/issues/11/labels{/name}",
"comments_url": "https://api.github.com/repos/TheIronYard--Orlando/2015--SUMMER--FEE/issues/11/comments",
"events_url": "https://api.github.com/repos/TheIronYard--Orlando/2015--SUMMER--FEE/issues/11/events",
"html_url": "https://github.com/TheIronYard--Orlando/2015--SUMMER--FEE/issues/11",
"id": 73013825,
"number": 11,
"title": "00 -- Brace Yourself -- BEN GRIFFITH",
"user": {
"login": "Epicurean306",
"id": 11682684,
"avatar_url": "https://avatars.githubusercontent.com/u/11682684?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/Epicurean306",
"html_url": "https://github.com/Epicurean306",
"followers_url": "https://api.github.com/users/Epicurean306/followers",
"following_url": "https://api.github.com/users/Epicurean306/following{/other_user}",
"gists_url": "https://api.github.com/users/Epicurean306/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Epicurean306/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Epicurean306/subscriptions",
"organizations_url": "https://api.github.com/users/Epicurean306/orgs",
"repos_url": "https://api.github.com/users/Epicurean306/repos",
"events_url": "https://api.github.com/users/Epicurean306/events{/privacy}",
"received_events_url": "https://api.github.com/users/Epicurean306/received_events",
"type": "User",
"site_admin": false
},
"labels": [
{
"url": "https://api.github.com/repos/TheIronYard--Orlando/2015--SUMMER--FEE/labels/Not%20Yet",
"name": "Not Yet",
"color": "e11d21"
}
],
Как вы видите, свойство label - это объект, вложенный в массив, вложенный в объект, вложенный в ar ray, реальный симпатичный. Ввод меток [0] приводит к ошибке для меня каждый раз и не дает мне счет. Может ли кто-нибудь сказать мне, где я запутался, пожалуйста? Спасибо!
«намного более результативный» --- любая ссылка для этого? – zerkms
Конечно :). Код выше лениво оценивает код. Фактически выполняется только один цикл. Одна ссылка будет [это] (http: // filimanjaro.ком/блог/2014/введение-ленивой оценки /). – ryeballar
Итак, если это 1 оператор цикла и 3 оператора, это скорее «просто очень немного более результативный», а не «намного больше». – zerkms