Как проверить является ли объект массивом js
Перейти к содержимому

Как проверить является ли объект массивом js

  • автор:

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() метод. Следующий пример демонстрирует его использование:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *