gpt4 book ai didi

javascript - 每次在 javascript 中添加新行时如何获得递增的 ordre 值

转载 作者:行者123 更新时间:2023-12-03 07:07:51 25 4
gpt4 key购买 nike

我有这个代码来增加 order 值:

$scope.addElement = function (_ordre) {

console.log("_ordre 1"+_ordre);

if(_ordre == undefined){
_ordre = 0;


if( _ordre == 0){
_ordre = (parseInt(_ordre) + 1).toString();

}

}
console.log("_ordre 2 "+_ordre);

console.log("_ordre 3 "+_ordre);


var tmpElement = {
ordre:(_ordre === undefined) ? (parseInt($scope.finalOperationsList[$scope.finalOperationsList.length-1].ordre) + 1 ): _ordre,
temps : '',
designation:'',
disable : false
};

if ($scope.finalOperationsList.indexOf(tmpElement) == -1) {
$scope.finalOperationsList.push(tmpElement);
var t = parseInt(_ordre)+1; //_ordre is a string
_ordre =t;
}
console.log("dern "+_ordre);
};

当我尝试在表格中添加新行时,我总是在控制台中看到以下内容:

_ordre 1undefined
_ordre 2 1
_ordre 3 1
dern 2

问题是,当我尝试在表中添加每次都有递增的 order 的新行时,我在控制台中得到此结果(我陷入了 1 个 order 值)

那么我该如何更正我的代码,以便每次添加新行时都有一个递增的 ordre 值?

感谢您的帮助。

更新:感谢zerohero先生的回复,但总是同样的问题,这就是我根据您的回复所做的:

$scope.addElement = function (_ordre) {

console.log("_ordre 1"+_ordre);

if(_ordre == undefined){
_ordre = 0;
}

_ordre = (parseInt(_ordre) + 1).toString();

console.log("_ordre 2 "+_ordre);

_ordre = (parseInt(_ordre) + 1).toString();
console.log("_ordre 3 "+_ordre);


var tmpElement = {
ordre:(_ordre === undefined) ? (parseInt($scope.finalOperationsList[$scope.finalOperationsList.length-1].ordre) + 1 ): _ordre,
temps : '',
designation:'',
codeOperation : 0,
disable : false
};

if ($scope.finalOperationsList.indexOf(tmpElement) == -1) {
$scope.finalOperationsList.push(tmpElement);


}
console.log("dern "+_ordre);
};

我总是在行“ordre”值等于2我想念代码中的任何内容吗?再次感谢您的帮助

最佳答案

这只会触发一次,当 _orde 未定义时将 _orde 设置为 1:

if(_ordre == undefined){
_ordre = 0;
if( _ordre == 0){
_ordre = (parseInt(_ordre) + 1).toString();

}
}

然后你连续输出:

console.log("_ordre 2 "+_ordre);
console.log("_ordre 3 "+_ordre);

由于没有对 _ordre 进行任何更改,因此在两种情况下都将显示 1。

将 _ordre 设置为 1 以外的任何值的唯一一次是:

var t = parseInt(_ordre)+1; //_ordre is a string
_ordre =t;

这会在您将 tmpElement 的 ordre 设置为 1 后发生。

你的逻辑有很大缺陷。

这样做:

if(_ordre == undefined){
_ordre = 0;
}

_ordre = (parseInt(_ordre) + 1).toString();

console.log("_ordre 2 "+_ordre);

_ordre = (parseInt(_ordre) + 1).toString();

console.log("_ordre 3 "+_ordre);

关于javascript - 每次在 javascript 中添加新行时如何获得递增的 ordre 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36740664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com