В этом ответе есть простая функция, которая вернет равенство массива для массивов, содержащих примитивные значения.
Однако я не уверен, почему он работает. Вот функция:
function arrays_equal(a,b) { return !!a && !!b && !(a<b || b<a); }
Меня больше всего интересует вторая половина; этот бит:
!(a<b || b<a)
Почему работают <
и >
при сравнении массивов, но ==
нет?
Как работают методы JavaScript и меньше, чем методы?