Array.isArray()
Метод Array.isArray() возвращает true , если объект является массивом и false , если он массивом не является.
Синтаксис
Array.isArray(obj)
Параметры
Объект для проверки.
Возвращаемое значение
true если объект является Array ; иначе, false .
Описание
Примеры
// Все следующие вызовы вернут true Array.isArray([]); Array.isArray([1]); Array.isArray(new Array()); // Малоизвестный факт: Array.prototype сам является массивом: Array.isArray(Array.prototype); // Все следующие вызовы вернут false Array.isArray(); Array.isArray(>); Array.isArray(null); Array.isArray(undefined); Array.isArray(17); Array.isArray("Array"); Array.isArray(true); Array.isArray(false); Array.isArray( __proto__: Array.prototype >);
instanceof vs isArray
Когда проверяем экземпляр Array , Array.isArray предпочтительней, чем instanceof , потому что он работает и с iframes .
var iframe = document.createElement("iframe"); document.body.appendChild(iframe); xArray = window.frames[window.frames.length - 1].Array; var arr = new xArray(1, 2, 3); // [1,2,3] // Correctly checking for Array Array.isArray(arr); // true // Considered harmful, because doesn't work through iframes arr instanceof Array; // false
Полифил
Выполнение следующего кода перед любым другим кодом создаст метод Array.isArray() , если он ещё не реализован в браузере.
if (!Array.isArray) Array.isArray = function (arg) return Object.prototype.toString.call(arg) === "[object Array]"; >; >
Спецификации
Specification |
---|
ECMAScript Language Specification # sec-array.isarray |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 4 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
MDN
Support
- Product help
- Report an issue
Our communities
Developers
- Web Technologies
- Learn Web Development
- MDN Plus
- Hacks Blog
- Website Privacy Notice
- Cookies
- Legal
- Community Participation Guidelines
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.
Как проверить является ли переменная массивом js
Для того, чтобы проверить является ли переменная массивом, можно воспользоваться встроенным методом Array.isArray() .
const numbers = [1, 2, 3]; console.log(Array.isArray(numbers)); // => true console.log(Array.isArray([])); // => true console.log(Array.isArray(<>)); // => false console.log(Array.isArray('')); // => false
20 октября 2022
Предлагаю воспользоваться оператором instanceof:
const letters = ['a', 'b', 'c']; const number = 5; const text = 'Dracaris!'; const user = name: 'Vasiliy', age: 15 >; console.log(letters instanceof Array) // => true console.log(number instanceof Array) // => false console.log(text instanceof Array) // => false console.log(user instanceof Array) // => false
Документация:
- instanceof
04 января 2023
Предлагаю на рассмотрение такой метод:
; const number = 5; console.log(typeof arr === 'object' && arr !== null && arr.length >= 0) // => true console.log(typeof arrEmpty === 'object' && arrEmpty !== null && arrEmpty.length >= 0) // => true console.log(typeof text === 'object' && text !== null && text.length >= 0) // => false console.log(typeof object === 'object' && object !== null && object.length >= 0) // => false console.log(typeof number === 'object' && number !== null && number.length >= 0) // => false
Array . is Array ( )
Статический метод Array . is Array ( ) проверяет, является ли переданный аргумент массивом. Возвращает true , если является, и false — если нет.
Пример
Скопировать ссылку «Пример» Скопировано
const arr = [1, 2, 3]const emptyArr = []const bool = trueconst num = 5 console.log(Array.isArray(arr))// trueconsole.log(Array.isArray(emptyArr))// trueconsole.log(Array.isArray(bool))// falseconsole.log(Array.isArray(num))// false
const arr = [1, 2, 3] const emptyArr = [] const bool = true const num = 5 console.log(Array.isArray(arr)) // true console.log(Array.isArray(emptyArr)) // true console.log(Array.isArray(bool)) // false console.log(Array.isArray(num)) // false
Как пишется
Скопировать ссылку «Как пишется» Скопировано
Array . is Array ( ) принимает один аргумент — переменную или значение, которое вы хотите проверить.
Возвращает true , если в переменной хранится массив и false во всех остальных случаях.
Как понять
Скопировать ссылку «Как понять» Скопировано
Время от времени необходимо проверить, хранится в переменной массив или что-то другое. Так как массивы не являются в JavaScript отдельным типом, то проверка с помощью typeof не подойдёт:
const a = []console.log(typeof a)// 'object'
const a = [] console.log(typeof a) // 'object'
Чтобы проверить, является ли значение массивом, существует метод Array . is Array ( ) .
Метод принимает один аргумент – значение, которое мы хотим проверить: Array . isArray ( значение ) .
Если был передан массив, то вернётся true , иначе — false .
Метод возвращает true при любом переданном массиве, неважно, как он был создан и какие данные в нём находятся:
console.log(Array.isArray([]))// trueconsole.log(Array.isArray(new Array(1, 2, 3)))// trueconsole.log(Array.isArray([undefined]))// trueconsole.log(Array.isArray(Array()))// trueconsole.log(Array.isArray(Array.prototype))// true
console.log(Array.isArray([])) // true console.log(Array.isArray(new Array(1, 2, 3))) // true console.log(Array.isArray([undefined])) // true console.log(Array.isArray(Array())) // true console.log(Array.isArray(Array.prototype)) // true
Во всех остальных случаях возвращается false :
console.log(Array.isArray(<>))// falseconsole.log(Array.isArray(1))// falseconsole.log(Array.isArray('array'))// false
console.log(Array.isArray(>)) // false console.log(Array.isArray(1)) // false console.log(Array.isArray('array')) // false
Массивоподобные объекты
Скопировать ссылку «Массивоподобные объекты» Скопировано
Метод возвращает false при переданных массивоподобных элементах. Например, на Node List , HTML Collection , arguments .
const nodes = document.querySelectorAll('div')console.log(Array.isArray(nodes))// false
const nodes = document.querySelectorAll('div') console.log(Array.isArray(nodes)) // false
Типизированные массивы
Скопировать ссылку «Типизированные массивы» Скопировано
Метод возвращает false при любых переданных типизированных массивах: Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array.
const typedArray = new Uint8Array()console.log(Array.isArray(typedArray))// false
const typedArray = new Uint8Array() console.log(Array.isArray(typedArray)) // false
Определить, является ли объект массивом в JavaScript
В этом посте мы обсудим, как определить, является ли объект массивом в JavaScript.
Массивы в JavaScript можно создавать с помощью Array() конструктор или буквенное обозначение массива. Чтобы определить, является ли данный объект массивом, вы можете использовать любой из следующих методов в JavaScript:
1. Использование Array.isArray() функция
Стандартный метод определения того, является ли указанный объект массивом, заключается в использовании Array.isArray() метод. Следующий пример демонстрирует его использование: