2017-06-20 71 views
1
vm.array1.push(content1); 
vm.array2.push(content2); 

我有一個以上兩個陣列與對象的數據推各時刻和每個陣列的數據模態看起來像這樣循環通過同時的兩個陣列,並使用角JS [新到角]在同一時間通過每個陣列的第一元件到功能

vm.array1=[object1,object2,object3] 
vm.array2=[object1,object2,object3] 

我需要通過ARRAY1的第一元件的唯一對象通過對函數數組2的第一個元素的對象。

vm.save(a,b){ 
//save functionality success by calling API 
} 

變量a,b應該只包含的第一元素兩者同時陣列隨後第二元件然後第三...

如何可以只傳遞對象,但不陣列使用angularJS功能?

+0

你的意思是叫內循環的功能? – brk

+0

沒有...函數應該在循環之外調用@ brk – HKI345

+0

ok然後當函數調用第二個元素時? – brk

回答

1

我猜array1array2是相同的長度。這應該工作。

var vm = { 
 
    save: function(a, b) { 
 
    console.log(a, b) 
 
    } 
 
}; 
 
vm.array1 = [{ 
 
    id: 1 
 
}, { 
 
    id: 2 
 
}, { 
 
    id: 3 
 
}]; 
 
vm.array2 = [{ 
 
    id: 4 
 
}, { 
 
    id: 5 
 
}, { 
 
    id: 6 
 
}]; 
 

 
vm.array1.forEach(function(a1, i) { 
 
    vm.save(a1, vm.array2[i]); 
 
});

+0

謝謝.. :) ..它的作品@ Maaz – HKI345

0

最簡單的你可以做以下事情。 (該解決方案將修改您的陣列)

do{ 
    vm.save(vm.array1.shift(), vm.array2.shift()){ 
    //save functionality success by calling API 
    } 
}while(vm.array1.length>0) 
0

PLZ檢查可能這將是工作: -

for(var i=0;i<=vm.array1.length;i++) 
{ 
    for(var j=0;j<=vm.array2.length;j++) 
    { 
     if(i==j) 
     vm.save(vm.array1[i].content1,vm.array2[j].content2){ 
     //save functionality success by calling API 
     } 
    } 
} 
+0

這不是非常低效,因爲你只能循環j^i次而不是i次。 –