[英]How can I cycle a multidimensional array and load one part at a time? - Javascript
我有一個非常大的多維javascript數組對象,具有許多地震的坐標。
像這樣:
var array_eq= [
[
0 : {
"casa": "home",
"lat": "30",
"lng": "40"
},
//...//
400 : {
"casa": "home",
"lat": "30",
"lng": "40"
}
],
[
0 : {
"casa": "home",
"lat": "30",
"lng": "40"
},
//...//
400 : {
"casa": "home",
"lat": "30",
"lng": "40"
}
]
];
因此,每個“陣列容器”包含400次地震。 所有陣列都可以發生超過120.000次地震。
它需要很長時間才能在google maps
顯示所有google maps
所以我試圖一一顯示“數組容器”(因此每400個)中的地震。
我試圖以這種方式循環數組:
for(var f= 0; f < array_eq.length; f++){
for(var i= 0; i < array_eq[f].length; i++){
//add erathquakes/markers on google maps
}
}
但是似乎沒有塊加載,因此陣列中的所有地震都被加載到一起。 這樣對用戶來說太長了....
你能給我一些建議嗎?
我可以使用ajax
解決此問題嗎?
一種選擇是創建過濾器控制功能。 我已經用可能的解決方案更新了JSFiddle。 例如,我設置了一個filterTurma()函數,如下所示:
$ scope.filterTurma = function (user) {
// If the value is be !! '(value you are assigning to' Everyone '),
// just returned 'true' for all cases to continue showing up ...
if ($ scope.search_turma.turmas.value == '!!')
true return;
// Do the opposite, do the classes of the user, and verify that at least
// one suites matches an advanced class in the combobox ...
for (var i = 0; i <user.turma.length; i ++) {
var class = user.turmas [i];
if (turma.value == $ scope.search_turma.turma.value)
true return;
}
// if it matched, return 'false' to hide this user ...
returns false;
};
總結代碼,在您的組合中,您可以作為類,並且仍然是選項“每個人”,其值為“ !!”。 沒有過濾器,只需檢查是否在組合框中選擇了該項目的當前值,否則我們將檢查是否至少有一個類別對應於所選類別。 在您的HTML中,要應用此過濾器,只需執行以下操作:
tr ng-repeat = "user in dataUserAndTurma | filter: {name: search_nome} | filter: filterTurma"
請注意,我沒有在方法名稱中使用括號(這里的angularjs willenter代碼會在迭代中自動將當前用戶傳遞給該方法),此外,我保留了原始過濾器,即過濾器相互補充。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.