Phương thức flat[]
tạo một mảng mới với tất cả các phần tử của mảng con được nối vào nó một cách đệ quy đến độ sâu đã chỉ định
flat[]
flat[depth]
depth
Tùy chọn
Mức độ sâu chỉ định độ sâu của cấu trúc mảng lồng nhau sẽ được làm phẳng. Mặc định là 1
Một mảng mới với các phần tử của mảng con được nối vào nó
Phương pháp flat[]
là một. Nó không làm thay đổi this
mà thay vào đó trả về một bản sao nông chứa các phần tử giống như các phần tử từ mảng ban đầu
Phương thức flat[]
bỏ qua các ô trống nếu mảng được làm phẳng là. Ví dụ: nếu depth
là 1, thì cả hai vị trí trống trong mảng gốc và ở cấp độ đầu tiên của các mảng lồng nhau đều bị bỏ qua, nhưng các vị trí trống trong các mảng lồng nhau tiếp theo được giữ nguyên cùng với chính các mảng đó
Phương pháp flat[]
là. Nó chỉ mong đợi giá trị this
có thuộc tính
const arr1 = [1, 2, [3, 4]];
arr1.flat[];
// [1, 2, 3, 4]
const arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat[];
// [1, 2, 3, 4, [5, 6]]
const arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat[2];
// [1, 2, 3, 4, 5, 6]
const arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat[Infinity];
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2 và thuộc tính có khóa số nguyên. Tuy nhiên, các phần tử của nó phải là mảng nếu chúng được làm phẳngconst arr1 = [1, 2, [3, 4]];
arr1.flat[];
// [1, 2, 3, 4]
const arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat[];
// [1, 2, 3, 4, [5, 6]]
const arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat[2];
// [1, 2, 3, 4, 5, 6]
const arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat[Infinity];
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Phương thức flat[]
loại bỏ các ô trống trong mảng
const arr5 = [1, 2, , 4, 5];
console.log[arr5.flat[]]; // [1, 2, 4, 5]
const array = [1, , 3, ["a", , "c"]];
console.log[array.flat[]]; // [ 1, 3, "a", "c" ]
const array2 = [1, , 3, ["a", , ["d", , "e"]]];
console.log[array2.flat[]]; // [ 1, 3, "a", ["d", empty, "e"] ]
console.log[array2.flat[2]]; // [ 1, 3, "a", "d", "e"]
Phương thức flat[]
đọc thuộc tính
const arr1 = [1, 2, [3, 4]];
arr1.flat[];
// [1, 2, 3, 4]
const arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat[];
// [1, 2, 3, 4, [5, 6]]
const arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat[2];
// [1, 2, 3, 4, 5, 6]
const arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat[Infinity];
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2 của this
và sau đó truy cập từng chỉ mục số nguyên. Nếu phần tử không phải là một mảng, nó sẽ được thêm trực tiếp vào kết quả. Nếu phần tử là một mảng, nó sẽ được làm phẳng theo tham số depth