Bạn có thể sử dụng Array hoặc để có kết quả tối ưu. Tuy nhiên, đôi khi, bạn cần chuyển Set thành Array. Trong hướng dẫn này, bạn sẽ tìm thấy một số phương thức JavaScript để chuyển đổi Set thành Array một cách dễ dàng
Mảng. phương thức from[] trả về một Mảng mới từ một đối tượng giống như mảng hoặc các đối tượng có thể lặp lại như , Set
const set = new Set[['chào mừng', 'đến', 'W3docs']]; . nhật ký [Mảng. from[bộ]];
Bạn có thể Đặt ra trong một Mảng như thế này
const set = new Set[['chào mừng', 'đến', 'W3docs']]; . bộ]; . nhật ký [mảng];
Đây là cách thời trang cũ và chuyển sang Mảng mới
const set = new Set[['chào mừng', 'đến', 'W3docs']]; . forEach[v => mảng. đẩy[v]]; . nhật ký [mảng];
Mảng là một cấu trúc đại diện cho khối dữ liệu [số, đối tượng, v.v. ] được phân bổ trong bộ nhớ liên tiếp. Tập hợp là một kiểu dữ liệu trừu tượng chứa các phần tử riêng biệt mà không cần được phân bổ có thứ tự theo chỉ mục. Các phần tử trong Array có thể trùng lặp, còn trong Set thì không thể
Thí dụ
Cho đối tượng này
var obj = {
a: "hello",
b: "this is",
c: "javascript!",
};
Bạn có thể chuyển đổi các giá trị của nó thành một mảng bằng cách thực hiện
var array = Object.keys[obj]
.map[function[key] {
return obj[key];
}];
console.log[array]; // ["hello", "this is", "javascript!"]
Phương thức tĩnh
Array.from["foo"];
// [ "f", "o", "o" ]
0 tạo một thể hiện Array.from["foo"];
// [ "f", "o", "o" ]
1 mới, được sao chép nông từ một đối tượng có thể lặp lại hoặc giống như mảngArray.from[arrayLike]
// Arrow function
Array.from[arrayLike, [element] => { /* … */ }]
Array.from[arrayLike, [element, index] => { /* … */ }]
// Mapping function
Array.from[arrayLike, mapFn]
Array.from[arrayLike, mapFn, thisArg]
// Inline mapping function
Array.from[arrayLike, function [element] { /* … */ }]
Array.from[arrayLike, function [element, index] { /* … */ }]
Array.from[arrayLike, function [element] { /* … */ }, thisArg]
Array.from[arrayLike, function [element, index] { /* … */ }, thisArg]
Array.from["foo"];
// [ "f", "o", "o" ]
2Một đối tượng có thể lặp lại hoặc giống như mảng để chuyển đổi thành một mảng
Array.from["foo"];
// [ "f", "o", "o" ]
3 Tùy chọnHàm ánh xạ để gọi mọi phần tử của mảng. Nếu được cung cấp, mọi giá trị được thêm vào mảng trước tiên sẽ được chuyển qua hàm này và thay vào đó, giá trị trả về của
Array.from["foo"];
// [ "f", "o", "o" ]
3 sẽ được thêm vào mảngHàm được gọi với các đối số sau
Array.from["foo"];
// [ "f", "o", "o" ]
5Phần tử hiện tại đang được xử lý trong mảng
Array.from["foo"];
// [ "f", "o", "o" ]
6Chỉ số của phần tử hiện tại đang được xử lý trong mảng
Array.from["foo"];
// [ "f", "o", "o" ]
7 Tùy chọnGiá trị sử dụng như
Array.from["foo"];
// [ "f", "o", "o" ]
8 khi thực thi Array.from["foo"];
// [ "f", "o", "o" ]
3Phiên bản
Array.from["foo"];
// [ "f", "o", "o" ]
1 mớiArray.from["foo"];
// [ "f", "o", "o" ]
0 cho phép bạn tạo các Array.from["foo"];
// [ "f", "o", "o" ]
1 từ- các đối tượng có thể lặp lại [các đối tượng như
63 vàvar array = Object.keys[obj] .map[function[key] { return obj[key]; }]; console.log[array]; // ["hello", "this is", "javascript!"]
64];var array = Object.keys[obj] .map[function[key] { return obj[key]; }]; console.log[array]; // ["hello", "this is", "javascript!"]
- các đối tượng giống như mảng [các đối tượng có thuộc tính
65 và các phần tử được lập chỉ mục]var array = Object.keys[obj] .map[function[key] { return obj[key]; }]; console.log[array]; // ["hello", "this is", "javascript!"]
Array.from["foo"];
// [ "f", "o", "o" ]
0 không bao giờ tạo một mảng thưa thớt. Nếu đối tượng Array.from["foo"];
// [ "f", "o", "o" ]
2 thiếu một số thuộc tính chỉ mục, chúng sẽ trở thành var array = Object.keys[obj]
.map[function[key] {
return obj[key];
}];
console.log[array]; // ["hello", "this is", "javascript!"]
68 trong mảng mớiArray.from["foo"];
// [ "f", "o", "o" ]
0 có một tham số tùy chọn là Array.from["foo"];
// [ "f", "o", "o" ]
3, cho phép bạn thực thi một hàm trên từng phần tử của mảng được tạo, tương tự như Array.from["foo"];
// [ "f", "o", "o" ]
41. Nói rõ hơn, Array.from["foo"];
// [ "f", "o", "o" ]
42 có kết quả giống như Array.from["foo"];
// [ "f", "o", "o" ]
43, chỉ khác là nó không tạo mảng trung gian, và Array.from["foo"];
// [ "f", "o", "o" ]
3 chỉ nhận 2 đối số [Array.from["foo"];
// [ "f", "o", "o" ]
5, Array.from["foo"];
// [ "f", "o", "o" ]
6] mà không nhận cả mảng, vì mảng vẫn đang được xây dựngGhi chú. Hành vi này quan trọng hơn đối với các mảng đã nhập, vì mảng trung gian nhất thiết phải có các giá trị bị cắt bớt để phù hợp với loại thích hợp.
Array.from["foo"];
// [ "f", "o", "o" ]
0 được triển khai để có cùng chữ ký với Array.from["foo"];
// [ "f", "o", "o" ]
48Phương thức
Array.from["foo"];
// [ "f", "o", "o" ]
0 là một phương thức xuất xưởng chung. Ví dụ: nếu một lớp con của Array.from["foo"];
// [ "f", "o", "o" ]
1 kế thừa phương thức Array.from["foo"];
// [ "f", "o", "o" ]
41, thì phương thức Array.from["foo"];
// [ "f", "o", "o" ]
41 được kế thừa sẽ trả về các thể hiện mới của lớp con thay vì các thể hiện của Array.from["foo"];
// [ "f", "o", "o" ]
1. Trên thực tế, giá trị Array.from["foo"];
// [ "f", "o", "o" ]
8 có thể là bất kỳ hàm tạo nào chấp nhận một đối số duy nhất biểu thị độ dài của mảng mới. Khi một iterable được truyền dưới dạng Array.from["foo"];
// [ "f", "o", "o" ]
2, hàm tạo được gọi mà không có đối số; . var array = Object.keys[obj]
.map[function[key] {
return obj[key];
}];
console.log[array]; // ["hello", "this is", "javascript!"]
65 cuối cùng sẽ được đặt lại khi quá trình lặp kết thúc. Nếu giá trị Array.from["foo"];
// [ "f", "o", "o" ]
8 không phải là hàm tạo, thì hàm tạo Array.from["foo"];
// [ "f", "o", "o" ]
1 đơn giản được sử dụng thay thếArray.from["foo"];
// [ "f", "o", "o" ]
var array = Object.keys[obj]
.map[function[key] {
return obj[key];
}];
console.log[array]; // ["hello", "this is", "javascript!"]
6Array.from["foo"];
// [ "f", "o", "o" ]
4Array.from["foo"];
// [ "f", "o", "o" ]
4Array.from[arrayLike]
// Arrow function
Array.from[arrayLike, [element] => { /* … */ }]
Array.from[arrayLike, [element, index] => { /* … */ }]
// Mapping function
Array.from[arrayLike, mapFn]
Array.from[arrayLike, mapFn, thisArg]
// Inline mapping function
Array.from[arrayLike, function [element] { /* … */ }]
Array.from[arrayLike, function [element, index] { /* … */ }]
Array.from[arrayLike, function [element] { /* … */ }, thisArg]
Array.from[arrayLike, function [element, index] { /* … */ }, thisArg]
6Array.from[arrayLike]
// Arrow function
Array.from[arrayLike, [element] => { /* … */ }]
Array.from[arrayLike, [element, index] => { /* … */ }]
// Mapping function
Array.from[arrayLike, mapFn]
Array.from[arrayLike, mapFn, thisArg]
// Inline mapping function
Array.from[arrayLike, function [element] { /* … */ }]
Array.from[arrayLike, function [element, index] { /* … */ }]
Array.from[arrayLike, function [element] { /* … */ }, thisArg]
Array.from[arrayLike, function [element, index] { /* … */ }, thisArg]
7Array.from[arrayLike]
// Arrow function
Array.from[arrayLike, [element] => { /* … */ }]
Array.from[arrayLike, [element, index] => { /* … */ }]
// Mapping function
Array.from[arrayLike, mapFn]
Array.from[arrayLike, mapFn, thisArg]
// Inline mapping function
Array.from[arrayLike, function [element] { /* … */ }]
Array.from[arrayLike, function [element, index] { /* … */ }]
Array.from[arrayLike, function [element] { /* … */ }, thisArg]
Array.from[arrayLike, function [element, index] { /* … */ }, thisArg]
8Phương thức
Array.from["foo"];
// [ "f", "o", "o" ]
41 có thể được gọi trên bất kỳ hàm xây dựng nào chấp nhận một đối số duy nhất biểu thị độ dài của mảng mới