2016-05-22 3 views
0

у меня есть массив JSON хранится в URL, какПодсчет количества объектов в массиве JSon

http://localhost/heart/api/restApiController/dataset.json 

Json массив выглядит следующим образом

[ 
    { 
     Weight: "3", 
     Smoking: "1", 
     Exercising: "0", 
     Food_habits: "0", 
     Parents_HA: "1", 
     Alcohol: "2", 
     Occupation: "1", 
     Working_hours: "4", 
     Heart_Attack: "0" 
    }, { 
     Weight: "4", 
     Smoking: "0", 
     Exercising: "1", 
     Food_habits: "0", 
     Parents_HA: "1", 
     Alcohol: "1", 
     Occupation: "1", 
     Working_hours: "2", 
     Heart_Attack: "0" 
    }, { 
     Weight: "2", 
     Smoking: "1", 
     Exercising: "1", 
     Food_habits: "0", 
     Parents_HA: "1", 
     Alcohol: "2", 
     Occupation: "1", 
     Working_hours: "4", 
     Heart_Attack: "0" 
    } 
] 

Я хочу, чтобы подсчитать количество объектов в массиве и сколько объектов есть, что имеет значение Heart_attack:'0'. Как я могу это сделать?

+0

Что вы пробовали до сих пор? Отправьте пример соответствующих частей приложения. –

ответ

0

Сделайте запрос ajax на указанный вами URL и найдите длину массива в обратном вызове запроса.

function callback (data) { 
if (data) { 
    var heartAttackCount = 0; 
    console.log("Data Length: " + data.length); 
    data.forEach(function (object) { 
     if (object.hasOwnProperty('Heart_Attack') && object['Heart_Attack'] === "0") { 
      ++heartAttackCount; 
     } 
    }); 
    console.log("Heart Attack Count: " + heartAttackCount); 
} 
0

.filter Используйте, чтобы получить элементы массива Heart_attack = 0, а затем применить .length

var arr; // Represent your array 
arr.filter(function (item) { 
    return item.Heart_attack == 0; 
}).length; 

Рабочий пример:

var arr = [ 
 
    { 
 
     Weight: "3", 
 
     Smoking: "1", 
 
     Exercising: "0", 
 
     Food_habits: "0", 
 
     Parents_HA: "1", 
 
     Alcohol: "2", 
 
     Occupation: "1", 
 
     Working_hours: "4", 
 
     Heart_Attack: "0" 
 
    }, { 
 
     Weight: "4", 
 
     Smoking: "0", 
 
     Exercising: "1", 
 
     Food_habits: "0", 
 
     Parents_HA: "1", 
 
     Alcohol: "1", 
 
     Occupation: "1", 
 
     Working_hours: "2", 
 
     Heart_Attack: "0" 
 
    }, { 
 
     Weight: "2", 
 
     Smoking: "1", 
 
     Exercising: "1", 
 
     Food_habits: "0", 
 
     Parents_HA: "1", 
 
     Alcohol: "2", 
 
     Occupation: "1", 
 
     Working_hours: "4", 
 
     Heart_Attack: "0" 
 
    } 
 
]; 
 

 
var len = arr.filter(function (item) { 
 
    return item.Heart_Attack == 0; 
 
}).length; 
 

 
document.write(len);

+0

мой массив не жестко закодирован в моем контроллере .. вместо этого он находится в URL, который я дал в вопросе. когда он находится в URL-адресе, как я могу это сделать? – CraZyDroiD

+0

Это просто пример, предполагающий, что у вас есть данные. Если вы не указали полный код, который у вас есть –

+0

У меня есть данные, но он находится в таблице базы данных. так как считать, когда он находится в таблице БД? – CraZyDroiD

Смежные вопросы