Array.of()

Метод Array.of() создаёт новый экземпляр массива Array из произвольного числа аргументов, вне зависимости от числа или типа аргумента.

Разница между Array.of() и конструктором Array заключается в обработке целочисленных аргументов: Array.of(7) создаёт массив с одним элементом 7, а Array(7) создаёт пустой массив со значением свойства length равным 7 (Замечание: подразумевается 7 пустых слотов, а не слоты со значением undefined).

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

Array(7);          // массив с 7 пустыми слотами
Array(1, 2, 3);    // [1, 2, 3]

Синтаксис

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

Параметры

elementN

Элементы, из которых создаётся массив.

Возвращаемое значение

Новый массив Array.

Описание

Эта функция является частью стандарта ECMAScript 6. Для дополнительной информации смотрите предложение по Array.of и Array.from и полифил для Array.of.

Примеры

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

Полифил

Выполнение следующего кода перед любым другим кодом создаст метод Array.of(), если он ещё не реализован в браузере.

if (!Array.of) {
  Array.of = function() {
    return Array.prototype.slice.call(arguments);
    // Or
    let vals = []
    for(let prop in arguments){
        vals.push(arguments[prop])
    }
    return vals.slice()
}

Спецификации

Specification
ECMAScript Language Specification
# sec-array.of

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также