vm.array1.push(content1);
vm.array2.push(content2);
我上面有两个数组,每次推送一个对象数据,每个数组的数据模态如下所示
vm.array1=[object1,object2,object3]
vm.array2=[object1,object2,object3]
我只需要将 array1 第一个元素的对象与 array2 的第一个元素的对象传递给函数。
vm.save(a,b){
//save functionality success by calling API
}
变量 a,b 应该只包含两个数组的第一个元素,同时后跟第二个元素,然后是第三个元素......
如何使用 angularJS 只将对象而不将数组传递给函数?
我猜array1
和array2
的长度相同。这应该有效。
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]);
});
最简单的方法是,您可以执行以下操作。(此解决方案将修改您的数组(
do{
vm.save(vm.array1.shift(), vm.array2.shift()){
//save functionality success by calling API
}
}while(vm.array1.length>0)
请检查这是否有效:-
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
}
}
}