Метод 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()
}
Спецификации
| Спецификация | Статус | Комментарии |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) Определение 'Array.of' в этой спецификации. |
Стандарт | Изначальное определение. |
| ECMAScript (ECMA-262) Определение 'Array.of' в этой спецификации. |
Живой стандарт |
Совместимость с браузерами
| Компьютеры | Мобильные | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
of | Chrome Полная поддержка 45 | Edge Полная поддержка 12 | Firefox Полная поддержка 25 | IE Нет поддержки Нет | Opera Полная поддержка 26 | Safari Полная поддержка 9 | WebView Android Полная поддержка 39 | Chrome Android Полная поддержка 39 | Firefox Android Полная поддержка 25 | Opera Android Полная поддержка 26 | Safari iOS Полная поддержка 9 | Samsung Internet Android Полная поддержка 4.0 | nodejs Полная поддержка 4.0.0 |
Легенда
- Полная поддержка
- Полная поддержка
- Нет поддержки
- Нет поддержки