我有一個名爲routerList的數組中的路由器列表。我想在我的視圖中顯示備用路由器旁邊的活動路由器。陣列中的路由器對象具有名爲HostName的屬性,該屬性具有locationID_Router#_RouterName,例如WA34_R01_ABCABC。陣列中的某個地方是另一個名爲WA34_R02_ABCABC的路由器。我想重新排序數組,所以當我使用ng時,重複這兩個路由器,所有其他匹配的對將彼此相鄰。我寫了一個函數,告訴我名稱是否相同減1字符,所以R01和R02。在這裏:配對AngularJS中的數組的類似對象
function stringCompare(word1, word2){
var differences = 0;
if(word1 != word2){
if(word1.length == word2.length){
for(i=0; i <= word1.length-1; i++){
if(word1.charAt(i) != word2.charAt(i)){
differences +=1;
}
}
}
}
if(differences == 1){
return true;
}else{
return false;
};
};
然後我試圖有一個循環內的循環,以獲得對並將它們添加到一個新的數組,因爲它發現的對,但我一直通過循環無法讀取主機名部分的方式得到錯誤。
function findCouples(array){
var MatchedRouters = [];
for(i=0;i<=array.length-1;i++){
for(var i2=0;i2<=array.length-1;i2++){
if(stringCompare(array[i].HostName,array[i2].HostName)){
MatchedRouters.push(array[i]);
MatchedRouters.push(array[i2]);
}
}
}
return MatchedRouters
};
如果有更好的方法來做到這一點請讓我知道!如果沒有任何幫助,你可以給我這樣的工作,這將是驚人的。 謝謝!
在JavaScript數組中有類似forEach的方法,所以您不必寫出for循環。此外,我認爲創建不同的數據結構可能會更容易。你能分享你的HTML來顯示列表嗎? – Anthony
爲什麼不直接訂購它們? – dariogriffo
我可能更容易擁有一個數據結構,其中的路由器= [{location:'location1',name:'name1',routers:{'1','2'}}]用於顯示 – Anthony