Каков наилучший стандартный метод перекрестного браузера для определения того, является ли переменная в JavaScript массивом или нет?
Поиск в Интернете есть несколько различных предложений, некоторые хорошие и немало недействительных.
Например, следующий базовый подход:
function isArray(obj) {
return (obj && obj.length);
}
Однако обратите внимание, что произойдет, если массив пуст, или obj на самом деле не является массивом, но реализует свойство length и т.д.
Итак, какая реализация является лучшей с точки зрения фактической работы, будучи кросс-браузером и по-прежнему эффективно работает?