theo dõi

Gần nhất :

Tags

Thống kê câu hỏi

Chuyên mục : Lập trình
Topic : JavaScript
Hỏi lúc:
Lượt xem: 1,531

Loại bỏ một phần tử cụ thể từ một mảng trong JavaScript?

Huỳnh Kiều Nga Huỳnh Kiều Nga
 02  02  00
02 bình chọn hữu ích bởi Lý Trí Dũng Hoàng Yến Loan

Tôi có một mảng các số nguyên, mà tôi đang sử dụng các .push() để thêm vào.

Làm cách nào đơn giản để loại bỏ một phần tử cụ thể từ một mảng? Tương đương với một cái gì đó giống như array.remove(int);

1,531 xem 08 theo dõi 02 hữu ích hỏi –

Bạn biết ai đó có thể trả lời câu hỏi này?. Bạn có thể giúp đỡ bằng cách tìm những người giỏi nhất:

user user user user user

Đỗ Thời Nhiệm Đỗ Thời Nhiệm
 03  00  01
03 bình chọn hữu ích bởi Nguyễn Thụy Vân, Hoàng Hữu Uy Võ Vĩnh Đức

Trước tiên, tìm các chỉ số của các phần tử bạn muốn loại bỏ:

var array = [2, 5, 9];
var index = array.indexOf(5);

Sau đó gỡ bỏ nó với splice:

if (index > -1) {
    array.splice(index, 1);
}
1,368 xem 03 hữu ích trả lời –
Bùi Chấn Phong Bùi Chấn Phong
 00  00  01
var index = jQuery.inArray(val,arr);
if (index > -1) {
    arr.splice(index, 1);
    //console.log(arr);
}
1,363 xem 00 hữu ích trả lời –
Lý Phúc Đức Lý Phúc Đức
 05  02  01

Sử dụng InArray jQuery:

A = [1, 2, 3, 4, 5, 6];
A.splice($.inArray(3, A), 1);
//Nó sẽ trả lại kết quả A=[1, 2, 4, 5, 6]

Lưu ý: inArray sẽ trả lại -1, nếu phần tử không được tìm thấy.

1,364 xem 00 hữu ích trả lời –
Lý Kim Bảo Lý Kim Bảo
 02  00  02
Array.prototype.remByVal = function(val) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] === val) {
            this.splice(i, 1);
            i--;
        }
    }
    return this;
}
//Call like
[1, 2, 3, 4].remByVal(3);
1,365 xem 00 hữu ích trả lời –
Trịnh Khánh Trang Trịnh Khánh Trang
 00  00  01

Cách đơn giản nhất:

array.splice( array.indexOf(item), 1 );
1,366 xem 00 hữu ích trả lời –
Tạ Huy Chiểu Tạ Huy Chiểu
 06  00  02

Để loại bỏ một phần tử của một mảng tại một chỉ số i:

array.splice(i, 1);

Nếu bạn muốn loại bỏ mọi phần tử với số giá trị từ mảng:

for(var i = array.length - 1; i >= 0; i--) {
    if(array[i] === number) {
       array.splice(i, 1);
    }
}

Nếu bạn chỉ muốn làm cho các phần tử tại chỉ số i không còn tồn tại, nhưng bạn không muốn các chỉ số của các phần tử khác thay đổi:

delete array[i];
1,367 xem 00 hữu ích trả lời –