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