Как узнать, является ли объект массивом в JavaScript? - PullRequest
0 голосов
/ 06 сентября 2018

Проходя учебник по Javascript в «W3Schools», я нашел этот фрагмент кода, объясняющий, как узнать, является ли объект массивом.

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}

Я не понимаю, как выполняется эта строка.

Ссылка на соответствующую страницу W3School

1 Ответ

0 голосов
/ 06 сентября 2018

Даже если на этот вопрос принят ответ о правильном способе использования Array.isArray()

Вопрос был о выполнении определенного кода из W3Schools, поэтому в образовательных целях в примере кода происходит то, что происходит.

myArray.constructor является ссылкой на конструктор объекта. Больше на Ссылка

Имея это в виду, мы можем перейти к:

myArray.constructor.toString()

приведет к

function Array () { [собственный код]}

Функция indexOf вернет позицию последовательности строк в другой последовательности строк. Если искомая строка найдена, она вернет int позицию. Если нет indexOf вернет -1.

Функцию можно описать так: если позиция «Массив» в строковом конструкторе объекта больше -1, объект является массивом.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...