gpt4 book ai didi

javascript - AngularJS中如何拼接所有item

转载 作者:行者123 更新时间:2023-11-30 09:25:27 27 4
gpt4 key购买 nike

我有一个表格,我正在使用 AngularJS 来显示它,有一个清晰的按钮,如果单击该按钮,将从表格中删除所有行。我正在使用拼接来执行此操作,但是当我尝试拼接它时,只有第一行和第三行得到拼接。

如何拼接所有行?

self.row.length = 3;
for (var index=0; index < self.row.length; index++) {
if (self.row[index].DDelDetailId != 0) {
self.deletedRow.push(angular.copy(self.row[index]));
}
console.log("index: "+index+" Rows: "+self.row.length)
self.row.splice(index, 1)
}

我已经看过所有类似的问题,但没有一个对我有帮助。如果 self.row.length 为 1,它可以拼接,但如果它大于 1,则保留 1 行。

以下是控制台日志中打印的内容:

Index: 0 Rows: 3
Index: 1 Rows: 2

我将所有已删除的行推送到 self.deletedRow 然后如果用户单击保存然后删除的行将在数据库中删除。每行都有一个删除按钮,因此用户可以删除所有行或删除 1 个特定行。

最佳答案

当您在删除行的同时向前移动索引时,您将跳过行:迭代 1:

index = 0
arr: [0, 1, 2]
arr.splice(0, 1) => arr: [1, 2] // deletes first item

迭代 2:

index = 1
arr: [1, 2]
arr.splice(1, 1) => arr: [1] // deletes second item

迭代 3:

index = 2
arr: [1]
arr.splice(2, 1) => arr [1] // tries to delete third item

如果一直删除第一项,则不会跳过任何内容:

arr.splice(0, 1)

删除所有行也更有效:arr = []arr.length = 0,

关于javascript - AngularJS中如何拼接所有item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49294944/

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