Trong một số trường hợp, chúng tôi có thể muốn giữ "0" trong mảng và xóa bất kỳ thứ gì khác [null, không xác định và ""], đây là một cách
arr.filter[function[e]{ return e === 0 || e }];
Sao chép mãđầu ra
["hello", 0, 1, 100, " "]
Sao chép mãỞ đây chúng ta có thể làm điều này,
[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
Sao chép mãhoặc sử dụng dấu gạch dưới. tổ chức
Array.prototype.clean = function[deleteValue] {
for [var we = 0; we < this.length; i++] {
if [this[i] == deleteValue] {
this.splice[i, 1];
i--;
}
}
return this;
};
test = new Array["", "One", "Two", "", "Three", "", "Four"].clean[""];
test2 = [1, 2,, 3,, 3,,,,,, 4,, 4,, 5,, 6,,,,];
test2.clean[undefined];
0Sao chép mãNếu bạn đã có Javascript 1. 6 trở lên chúng ta có thể sử dụng Array. bộ lọc bằng cách sử dụng chức năng gọi lại
Array.prototype.clean = function[deleteValue] {
for [var we = 0; we < this.length; i++] {
if [this[i] == deleteValue] {
this.splice[i, 1];
i--;
}
}
return this;
};
test = new Array["", "One", "Two", "", "Three", "", "Four"].clean[""];
test2 = [1, 2,, 3,, 3,,,,,, 4,, 4,, 5,, 6,,,,];
test2.clean[undefined];
3 tầm thường, e. g Cho một mảng chứa các phần tử. Nhiệm vụ là loại bỏ các phần tử rỗng ra khỏi mảng như chuỗi rỗng hay phần tử NULL
Phương pháp 1. Sử dụng hàm array_filter[]. Nó đạt được bằng cách sử dụng hàm array_filter[]. Nó cũng loại bỏ các giá trị sai khi được khai báo bằng hàm gọi lại, tuy nhiên, nếu không có hàm gọi lại nào được chỉ định, tất cả các giá trị của mảng bằng FALSE sẽ bị loại bỏ, chẳng hạn như chuỗi rỗng hoặc giá trị NULL
Ví dụ
[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
1[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
2[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
3[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
4 [1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
5[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
6[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
7[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
8geeks0
11
12
for
1997
geeks
geeks1
11
12
for
1997
geeks
geeks2
11
12
for
1997
geeks
geeks3______54____55
11
12
for
1997
geeks
[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
8geeks7
11
12
for
1997
geeks
geeks8
11
12
for
1997
geeks
geeks9
11
12
for
1997
geeks
[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
10[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
11 [1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
5[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
13[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
7[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
4geeks7
11
12
for
1997
geeks
[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
2[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
18[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
19[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
11____57[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
22đầu ra.
["hello", 0, 1, 100, " "]
6Phương pháp 2. Sử dụng hàm unset[]. Một cách tiếp cận khác là loại bỏ các phần tử trống khỏi mảng bằng cách sử dụng hàm empty[] cùng với hàm unset[]. Hàm empty[] dùng để kiểm tra xem một phần tử có rỗng hay không
array_splice [mảng &$array, int $offset, int. null $length = null, hỗn hợp $replacement = []]. mảng Xóa các phần tử được chỉ định bằng offset và độ dài khỏi mảng mảng và thay thế chúng bằng các phần tử của mảng thay thế, nếu được cung cấpVới sự trợ giúp của array_map[] và array_filter[], các phần tử mảng trống có thể được loại bỏ theo cách đệ quy khỏi mảng nhiều chiều
array_map [ gọi được $callback , mảng $array1 [, mảng $… ] ].
array_map[] trả về một mảng chứa kết quả của việc áp dụng hàm gọi lại cho chỉ mục tương ứng của mảng được sử dụng làm đối số cho hàm gọi lại.
mảng_filter [ mảng $array [, gọi được $callback [, int $flag = 0 ]] ]
array_filter, lọc các phần tử của mảng bằng hàm gọi lại. Nếu không cung cấp lệnh gọi lại, tất cả các mục của mảng bằng FALSE sẽ bị xóa
Thông thường, một số phần tử trong một mảng có thể trống và cần phải loại bỏ chúng. Trong hướng dẫn ngắn này, chúng tôi sẽ cung cấp cho bạn chức năng phù hợp để làm điều đó
Cách phổ biến và chính xác nhất là sử dụng hàm array_filter. Nó sẽ xóa bất kỳ phần tử nào được đánh giá là FALSE [null, false, '', 0]. Bằng cách thêm chức năng gọi lại, bạn có thể tùy chỉnh bộ lọc
Đây là cách Array_filter hoạt động
["hello", 0, 1, 100, " "]
7Kết quả
["hello", 0, 1, 100, " "]
8Trong ví dụ trên, giá trị của $array là giá trị được minh họa bên dưới nó trong ngoặc
Điều đó hoạt động đúng nhưng có thể để lại các khoảng trống chỉ mục bên trong một mảng. May mắn thay, bạn có thể sửa nó với sự trợ giúp của array_values để lập chỉ mục lại mảng như thế này
["hello", 0, 1, 100, " "]
7Kết quả
[1, false, "", undefined, 2].filter[Boolean]; // [1, 2]
0Trong ví dụ này, giá trị của $array là những gì được thể hiện bên dưới nó trong ngoặc đơn
Mô tả hàm array_filter
Hàm này có khả năng lặp qua mọi giá trị trong mảng và chuyển chúng cho hàm gọi lại
Khi hàm gọi lại trả về True, giá trị hiện tại từ mảng sẽ trở lại mảng kết quả
Hàm array_filter có các tham số sau. mảng, gọi lại và gắn cờ
Cái đầu tiên là mảng để lặp lại. Callback là chức năng gọi lại để áp dụng. Và, cờ chỉ định đối số nào được chuyển tiếp đến cuộc gọi lại