cuốn sách gpt4 ai đã làm

android — vòng lặp for hoạt động rất kỳ lạ

In lại Tác giả: Walker 123 Thời gian cập nhật: 28-11-2023 00:52:51 25 4
mua khóa gpt4 Nike

Tôi đang so sánh 2 số nguyên trong một vòng lặp lặp qua một mảng chứa các đối tượng JSON. Đối tượng JSON chứa ID và tên. Khi tôi nhấp vào nút đóng của một cửa sổ, cửa sổ đó sẽ biến mất và các cửa sổ khác vẫn giữ nguyên, nhưng điều xảy ra là nếu tôi đóng cửa sổ có ID cao nhất thì tất cả các cửa sổ sẽ đóng lại, chẳng hạn như nếu tôi đóng cửa sổ thứ năm , Sau đó # 1-5 bị đóng, nhưng ID cao hơn vẫn tồn tại.

    ctrl.items = [{
mã số: 1,
Tên: "Số một"
},
{
mã số: 2,
Tên: "Số 2"
},
{
mã số: 3,
Tên: "Số ba"
}];

ctrl.removeWindow = function(toBeRemovedId) {
console.log("Đã gọi: " + toBeRemovedId);
for (var i = ctrl.items.length - 1; i >= 0; i--) {
console.log(ctrl.items[i].id + " " + toBeRemovedId);
if(ctrl.items[i].id == toBeRemovedId) {
ctrl.items.splice(ctrl.items[i], 1);
}
};
}



{{ item.name}





{{ item.id + " " + item.name }




Cảm ơn trước vì bất kỳ khách hàng tiềm năng nào bạn có thể cung cấp cho tôi.

câu trả lời hay nhất

Hàm nối mảng lấy chỉ mục chứ không lấy mục cần xóa nên bạn nên làm như sau:

ctrl.items.splice(i, 1);

Nhưng vòng lặp có chút không cần thiết. Tại sao không lặp qua các mục bạn muốn xóa thay vì lặp theo id theo thứ tự giảm dần để tìm id phù hợp? Ví dụ:

ng-click="itemWindowCtrl.removeWindow(item)"

Sau đó, trong Bộ điều khiển/Chỉ thị của bạn:

ctrl.items.splice(ctrl.items.indexOf(item), 1);

Về javascript - hành vi của vòng lặp for thực sự kỳ lạ, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/26565789/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress