我有一個函數,向其中I輸入JSON數據
function getTotals(users){
users = data;
allUsers = users.length;
active = 0;
women = 0;
men = 0;
lastActive = 0;
for (elm in users){
if (users[elm].active){
active++;
if (users[elm].gender == "Female"){
women++;
} else if (users[elm].gender == "Male") {
men++;
} else if (users[elm].last_login){
var lastLogin = new Date (users[elm].last_login);
var lastMonths = lastLogin.getMonth()-6;
var lastYears = lastLogin.getFullYear();
//console.log(lastYears);
if (lastMonths <6 && lastMonths > -6 && lastYears >= lastLogin.getFullYear()-1){
lastActive++;
}
}
}
}
return {allUsers : allUsers, active : active, women : women, men : men, lastActive : lastActive};}
但我不能顯示這些值,當我做以下:
var listOfUsers = document.createElement('p');
listOfUsers.textContent = "Liczba wszystkich użytkowników: "+allUsers;
document.querySelector("#row1 > div").appendChild(listOfUsers);
var listOfActive = document.createElement('p');
listOfActive.textContent = "Liczba aktywnych użytkowników: "+active;
document.querySelector("#row2 > div").appendChild(listOfActive);
var listOfWomen = document.createElement('p');
listOfWomen.textContent = "Liczba aktywnych kobiet: "+women;
document.querySelector("#row3 > div").appendChild(listOfWomen);
var listOfMen = document.createElement('p');
listOfMen.textContent = "Liczba aktywnych mężczyzn: "+men;
document.querySelector("#row4 > div").appendChild(listOfMen);
var listOfLastActv = document.createElement('p');
listOfLastActv.textContent = "Liczba aktywnych (ost 6 mcy): "+lastActive;
document.querySelector("#row5 > div").appendChild(listOfLastActv);
當我做以下(在這裏發現了其他問題):
var getTotalUsers = new getTotal();
var allUsers = getTotalUsers.allUsers;
var active = getTotalUsers.active;
var women = getTotalUsers.women;
var men = getTotalUsers.men;
var lastActive = getTotalUsers.lastActive;
我得到未定義的結果。我不知道如何解決這個問題,因爲在js的下一部分中,我需要顯示活動用戶列表。
凡'data'定義? – guest271314
VAR數據;函數HTTPGET(URL){ 返回新無極(函數(解析,拒絕){ VAR httpReq =新的XMLHttpRequest(); httpReq.onreadystatechange =函數(){ 如果(httpReq.readyState == 4){ 如果(httpReq.status == 200){ 數據= JSON.parse(httpReq.responseText); 解析(數據); }否則{ 拒絕(新錯誤(http.Req.statusText)); } } }; httpReq.open( 「GET」,網址,TRUE); httpReq.send(); }) } – MaPta
'new Promise()'異步返回結果。爲什麼你傳遞'users',然後將'users'重新定義爲'data'? – guest271314