--- title: Array.of() slug: Web/JavaScript/Reference/Global_Objects/Array/of translation_of: Web/JavaScript/Reference/Global_Objects/Array/of ---
{{JSRef}}

Phương thức Array.of() được dùng để tạo ra một mảng mới với các phần tử được truyền vào thông qua tham số truyền vào.

Cả Array.of()Array đều chấp nhận tham số đầu vào là các số nguyên để khởi tạo một mảng mới, tuy nhiên chúng ta cần lưu ý trong trường hợp chỉ truyền vào một giá trị nguyên,  Array.of() sẽ tạo ra một mảng số nguyên có một phần tử duy nhất, trong khi Array() ?sẽ tạo ra một mảng có số lượng phần tử rỗng (phần tử rỗng không mang giá trị undefined hoặc null)  tương ứng với giá trị số nguyên truyền vào.

Array.of(7);       // [7]
Array.of(1, 2, 3); // [1, 2, 3]

Array(7);          // [ , , , , , , ]
Array(1, 2, 3);    // [1, 2, 3]

 Cú pháp

Array.of(element0[, element1[, ...[, elementN]]])

Tham số

elementN
Các phần tử dùng để khởi tạo mảng

Giá trị trả về

Kết quả sau khi thực thi sẽ trả về một mảng mới

Mô tả

Đây là một phương thức chuẩncủa ECMAScript 2015. Có thể tham khảo thêm Array.of and Array.from proposal và Array.of polyfill.

Ví dụ

Array.of(1);         // [1]
Array.of(1, 2, 3);   // [1, 2, 3]
Array.of(undefined); // [undefined]

Polyfill

Nếu trình duyệt không hỗ trợ Array.of(), có thể gắn đoạn mã JS sau và thực thi nó trước tất cả các đoạn mã JS khác.

if (!Array.of) {
  Array.of = function() {
    return Array.prototype.slice.call(arguments);
  };
}

Đặc tả

Đặc tả Trạng thái Ghi chú
{{SpecName('ES2015', '#sec-array.of', 'Array.of')}} {{Spec2('ES2015')}} Định nghĩa lần đầu.
{{SpecName('ESDraft', '#sec-array.of', 'Array.of')}} {{Spec2('ESDraft')}}  

Tính tương thích giữa các trình duyệt

{{Compat("javascript.builtins.Array.of")}}

Tham khảo thêm