Javascript 迭代对象数组并更改多个
我有一个发送对象的函数,Javascript 迭代对象数组并更改多个,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有一个发送对象的函数,批发商。有一个对象数组,批发商,其中包含多个批发商对象 我需要将刚进来的批发商的订单号增加1,然后找到当前订单为新值的批发商对象并减去1 $scope.wholesalers = []; $scope.downWholesaler = function (wholesaler) { if (wholesaler.id > 0) { var orderNumber = wholesaler.ORDER;
批发商
。有一个对象数组,批发商
,其中包含多个批发商
对象
我需要将刚进来的批发商的订单号增加1,然后找到当前订单为新值的批发商对象并减去1
$scope.wholesalers = [];
$scope.downWholesaler = function (wholesaler) {
if (wholesaler.id > 0) {
var orderNumber = wholesaler.ORDER;
var orderBelowNumber = orderNumber + 1;
angular.forEach($scope.wholesalers, function (myWholesaler) {
if (myWholesaler.ORDER === orderNumber) {
// raise current order +1
var add = orderNumber + 1
myWholesaler.ORDER = add;
}
//setting it
if (myWholesaler.ORDER === orderBelowNumber) {
//lower one with order below number -1
var subtract = orderNumber - 1;
myWholesaler.ORDER = subtract;
}
});
console.log($scope.wholesalers);
}
};
上面我正在做这件事。我通过$scope.whistalers
增加当前对象的订单号,然后将其旁边的订单号(订单+1)减少一个
但是顺序在下降,下一个对象根本没有改变。我做错了什么?我如何修复它
编辑:没有最新的代码修复:
$scope.downWholesaler = function (wholesaler) {
if (wholesaler.id > 0) {
var add = parseInt(wholesaler.ORDER) + 1
angular.forEach($scope.wholesalers, function (myWholesaler) {
if (myWholesaler.ORDER == add) {
myWholesaler.ORDER = parseInt(myWholesaler.ORDER) - 1;
}
});
wholesaler.ORDER = add;
console.log($scope.wholesalers);
}
};
为什么要在数组中循环查找订单号等于刚输入订单号的条目?这不是刚进来的订单吗?你为什么还要修改订单号?@Draco18s我想我明白你的意思了。我的if语句使用了错误的对象?我必须在这里修改UI的订单号。
var orderNumber=whistaler.order
和如果(mywhistaler.ORDER==orderNumber){…}
是否会有两个订单具有相同的订单号?如果没有,那么为什么不直接修改正在处理的订单呢?@Draco18s很好。但我还需要修改1个其他批发商.order。开始调试:alert(MyBurgistaler.order+“==”+orderBelowNumber)当然,当我输入这条评论时,看起来你解决了自己的问题。