同时遍历两个数组,并使用角度 js [新到角度] 一次将每个数组的第一个元素传递给函数


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 只将对象而不将数组传递给函数?

我猜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]);
});

最简单的方法是,您可以执行以下操作。(此解决方案将修改您的数组(

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
        }
    }
}

最新更新