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