Tôi đang cố gắng xóa một phần tử trong một mảng trong forEach
vòng lặp, nhưng gặp sự cố với các giải pháp tiêu chuẩn mà tôi đã thấy.
Đây là những gì tôi hiện đang thử:
review.forEach(function(p){
if(p === '\u2022 \u2022 \u2022'){
console.log('YippeeeE!!!!!!!!!!!!!!!!')
review.splice(p, 1);
}
});
Tôi biết nó đang đi vào if
vì tôi đang nhìn thấy YippeeeeeE!!!!!!!!!!!!!
trong bảng điều khiển.
VẤN ĐỀ CỦA TÔI: Tôi biết rằng vòng lặp for và if của tôi là logic, nhưng nỗ lực xóa phần tử hiện tại khỏi mảng của tôi không thành công.
CẬP NHẬT:
Đã thử câu trả lời của Xotic750 và phần tử vẫn không bị xóa:
Đây là hàm trong mã của tôi:
review.forEach(function (item, index, object) {
if (item === '\u2022 \u2022 \u2022') {
console.log('YippeeeE!!!!!!!!!!!!!!!!')
object.splice(index, 1);
}
console.log('[' + item + ']');
});
Đây là kết quả mà mảng vẫn chưa bị xóa:
[Scott McNeil]
[reviewed 4 months ago]
[ Mitsubishi is AMAZING!!!]
YippeeeE!!!!!!!!!!!!!!!!
[• • •]
Vì vậy, rõ ràng là nó đang đi vào câu lệnh if như được chỉ dẫn, nhưng rõ ràng là [• • •] vẫn ở đó.
index
thuộc tính này hơn là item
cho thuộc tính của bạnsplice
forEach
? Nếu bạn muốn loại bỏ các mục, chức năng thích hợp nhất làfilter
.